{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a9ced852-425c-4ee0-952e-4fa1d758eca4",
   "metadata": {},
   "outputs": [],
   "source": [
    "from glob import glob\n",
    "import pandas as pd\n",
    "from scipy.stats import spearmanr\n",
    "from statsmodels.sandbox.stats.multicomp import multipletests\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_style('whitegrid')\n",
    "\n",
    "def p_adjust(pvalues, method='fdr_bh'):\n",
    "    res = multipletests(pvalues, method=method)\n",
    "    return np.array(res[1], dtype=float)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "557c8ac7-e08d-48c9-af93-cb67852fb4d0",
   "metadata": {},
   "source": [
    "# Correlating Kraken abundances with continuous vaccine titers\n",
    "\n",
    "##### Michael Shaffer\n",
    "##### 7/21/2022\n",
    "##### Merck ESC, Sys bio group\n",
    "\n",
    "To find if any bacterial taxa are correlated with vaccine response we will pick time points (2, 4, 6, 8 and 12 months) and correlate the bacterial abundances at those timepoints with continuous vaccine response at one year."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4c86528-cf6b-498e-ab8b-83f984395db8",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Read in data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "44af0051-eb8d-4c74-a80e-c07d9bc7259f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SubmissionType</th>\n",
       "      <th>SampleNumber</th>\n",
       "      <th>SampleIDValidation</th>\n",
       "      <th>DiversigenCheckInSampleName</th>\n",
       "      <th>BoxLocation</th>\n",
       "      <th>SampleType</th>\n",
       "      <th>SampleSource</th>\n",
       "      <th>SequencingType</th>\n",
       "      <th>BabyN</th>\n",
       "      <th>BabyN_checked</th>\n",
       "      <th>...</th>\n",
       "      <th>median_mmNorm_PCV</th>\n",
       "      <th>median_mmNorm_DTAPHib</th>\n",
       "      <th>protectNorm_Dip</th>\n",
       "      <th>protectNorm_TET</th>\n",
       "      <th>protectNorm_PRP (Hib)</th>\n",
       "      <th>protectNorm_PT</th>\n",
       "      <th>protectNorm_PRN</th>\n",
       "      <th>protectNorm_FHA</th>\n",
       "      <th>geommean_protectNorm</th>\n",
       "      <th>VR_group_v2</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SampleID</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>106_V2</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>69</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 8, F3</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>106</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>0.052874</td>\n",
       "      <td>2.1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.6</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>1.375</td>\n",
       "      <td>1.140388</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106_V6</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>121</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 10, C1</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>106</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>0.052874</td>\n",
       "      <td>2.1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.6</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>1.375</td>\n",
       "      <td>1.140388</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106_V7</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>158</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 11, C3</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>106</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>0.052874</td>\n",
       "      <td>2.1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.6</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>1.375</td>\n",
       "      <td>1.140388</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106_S_1</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>162</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 11, D1</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>106</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>0.052874</td>\n",
       "      <td>2.1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.6</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>1.375</td>\n",
       "      <td>1.140388</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106_A1</th>\n",
       "      <td>Primary in Tube</td>\n",
       "      <td>188</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Box 12, B3</td>\n",
       "      <td>Stool</td>\n",
       "      <td>Human Infant</td>\n",
       "      <td>MetaG</td>\n",
       "      <td>106</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0.061955</td>\n",
       "      <td>0.052874</td>\n",
       "      <td>2.1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.6</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>0.3125</td>\n",
       "      <td>1.375</td>\n",
       "      <td>1.140388</td>\n",
       "      <td>NVR</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 86 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           SubmissionType  SampleNumber  SampleIDValidation  \\\n",
       "SampleID                                                      \n",
       "106_V2    Primary in Tube            69                 NaN   \n",
       "106_V6    Primary in Tube           121                 NaN   \n",
       "106_V7    Primary in Tube           158                 NaN   \n",
       "106_S_1   Primary in Tube           162                 NaN   \n",
       "106_A1    Primary in Tube           188                 NaN   \n",
       "\n",
       "         DiversigenCheckInSampleName BoxLocation SampleType  SampleSource  \\\n",
       "SampleID                                                                    \n",
       "106_V2                           NaN   Box 8, F3      Stool  Human Infant   \n",
       "106_V6                           NaN  Box 10, C1      Stool  Human Infant   \n",
       "106_V7                           NaN  Box 11, C3      Stool  Human Infant   \n",
       "106_S_1                          NaN  Box 11, D1      Stool  Human Infant   \n",
       "106_A1                           NaN  Box 12, B3      Stool  Human Infant   \n",
       "\n",
       "         SequencingType  BabyN  BabyN_checked  ... median_mmNorm_PCV  \\\n",
       "SampleID                                       ...                     \n",
       "106_V2            MetaG    106            NaN  ...          0.061955   \n",
       "106_V6            MetaG    106            NaN  ...          0.061955   \n",
       "106_V7            MetaG    106            NaN  ...          0.061955   \n",
       "106_S_1           MetaG    106            NaN  ...          0.061955   \n",
       "106_A1            MetaG    106            NaN  ...          0.061955   \n",
       "\n",
       "          median_mmNorm_DTAPHib protectNorm_Dip  protectNorm_TET  \\\n",
       "SampleID                                                           \n",
       "106_V2                 0.052874             2.1              3.0   \n",
       "106_V6                 0.052874             2.1              3.0   \n",
       "106_V7                 0.052874             2.1              3.0   \n",
       "106_S_1                0.052874             2.1              3.0   \n",
       "106_A1                 0.052874             2.1              3.0   \n",
       "\n",
       "         protectNorm_PRP (Hib) protectNorm_PT  protectNorm_PRN  \\\n",
       "SampleID                                                         \n",
       "106_V2                     2.6         0.3125           0.3125   \n",
       "106_V6                     2.6         0.3125           0.3125   \n",
       "106_V7                     2.6         0.3125           0.3125   \n",
       "106_S_1                    2.6         0.3125           0.3125   \n",
       "106_A1                     2.6         0.3125           0.3125   \n",
       "\n",
       "         protectNorm_FHA  geommean_protectNorm  VR_group_v2  \n",
       "SampleID                                                     \n",
       "106_V2             1.375              1.140388          NVR  \n",
       "106_V6             1.375              1.140388          NVR  \n",
       "106_V7             1.375              1.140388          NVR  \n",
       "106_S_1            1.375              1.140388          NVR  \n",
       "106_A1             1.375              1.140388          NVR  \n",
       "\n",
       "[5 rows x 86 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta = pd.read_csv('../../data/metadata/stool/stool_metadata.csv', index_col='SampleID')\n",
    "meta = pd.concat([meta,\n",
    "                  pd.read_csv('../../data/metadata/stool/stool_abx_usage.csv', index_col='SampleID'),\n",
    "                  pd.read_csv('../../data/metadata/stool/stool_titers_yr1.csv', index_col='SampleID')],\n",
    "                 axis=1)\n",
    "meta['VR_group'] = meta['VR_group'].fillna('Not Measured')\n",
    "meta = meta.sort_values(['BabyN', 'age_at_collection'])\n",
    "meta = meta.loc[~pd.isna(meta['median_mmNorm'])]\n",
    "meta.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f8927715-e07c-416a-a625-563c192b5b9f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(971, 529)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>106_V2</th>\n",
       "      <th>106_V6</th>\n",
       "      <th>106_V7</th>\n",
       "      <th>106_S_1</th>\n",
       "      <th>106_A1</th>\n",
       "      <th>107_V2</th>\n",
       "      <th>107_V3</th>\n",
       "      <th>107_V6</th>\n",
       "      <th>107_S1</th>\n",
       "      <th>107_V7</th>\n",
       "      <th>...</th>\n",
       "      <th>264_S2F</th>\n",
       "      <th>264_V9</th>\n",
       "      <th>264_V10</th>\n",
       "      <th>264_V11</th>\n",
       "      <th>264_V12</th>\n",
       "      <th>265_V2</th>\n",
       "      <th>265_V5</th>\n",
       "      <th>265_V6</th>\n",
       "      <th>265_V8</th>\n",
       "      <th>265_S1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|g__Thermobaculum</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Acidobacteria|c__Acidobacteriia|o__Acidobacteriales|f__Acidobacteriaceae|g__Acidobacterium</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Acidobacteria|c__Acidobacteriia|o__Acidobacteriales|f__Acidobacteriaceae|g__Candidatus_Koribacter</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Acidobacteria|c__Acidobacteriia|o__Acidobacteriales|f__Acidobacteriaceae|g__Granulicella</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Acidobacteria|c__Acidobacteriia|o__Acidobacteriales|f__Acidobacteriaceae|g__Terriglobus</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 529 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    106_V2  106_V6  106_V7  \\\n",
       "d__Bacteria|g__Thermobaculum                           0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0    17.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "\n",
       "                                                    106_S_1  106_A1  107_V2  \\\n",
       "d__Bacteria|g__Thermobaculum                            0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      4.0     1.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      0.0     0.0     0.0   \n",
       "\n",
       "                                                    107_V3  107_V6  107_S1  \\\n",
       "d__Bacteria|g__Thermobaculum                           0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "\n",
       "                                                    107_V7  ...  264_S2F  \\\n",
       "d__Bacteria|g__Thermobaculum                           0.0  ...      0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0  ...      0.0   \n",
       "\n",
       "                                                    264_V9  264_V10  264_V11  \\\n",
       "d__Bacteria|g__Thermobaculum                           0.0      0.0      1.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0      0.0     10.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     1.0      1.0      2.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     5.0      1.0     13.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0      1.0     14.0   \n",
       "\n",
       "                                                    264_V12  265_V2  265_V5  \\\n",
       "d__Bacteria|g__Thermobaculum                            0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      4.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      5.0     0.0     2.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      6.0     0.0     1.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      3.0     0.0     2.0   \n",
       "\n",
       "                                                    265_V6  265_V8  265_S1  \n",
       "d__Bacteria|g__Thermobaculum                           0.0     0.0     0.0  \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0  \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     4.0     0.0  \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     8.0     0.0  \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     3.0     0.0  \n",
       "\n",
       "[5 rows x 529 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "kraken_genus_abunds = pd.read_csv('../../data/stool/kraken_taxa_level_abunds/kraken_genus_abunds.tsv', sep='\\t', index_col=0)\n",
    "kraken_genus_abunds = kraken_genus_abunds[meta.query(\"`gt_2.5` == True\").index]\n",
    "print(kraken_genus_abunds.shape)\n",
    "display(kraken_genus_abunds.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ed06601c-88e5-4ba9-a274-63af571183a6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(320, 529)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>106_V2</th>\n",
       "      <th>106_V6</th>\n",
       "      <th>106_V7</th>\n",
       "      <th>106_S_1</th>\n",
       "      <th>106_A1</th>\n",
       "      <th>107_V2</th>\n",
       "      <th>107_V3</th>\n",
       "      <th>107_V6</th>\n",
       "      <th>107_S1</th>\n",
       "      <th>107_V7</th>\n",
       "      <th>...</th>\n",
       "      <th>264_S2F</th>\n",
       "      <th>264_V9</th>\n",
       "      <th>264_V10</th>\n",
       "      <th>264_V11</th>\n",
       "      <th>264_V12</th>\n",
       "      <th>265_V2</th>\n",
       "      <th>265_V5</th>\n",
       "      <th>265_V6</th>\n",
       "      <th>265_V8</th>\n",
       "      <th>265_S1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Acidobacteria|c__Acidobacteriia|o__Acidobacteriales|f__Acidobacteriaceae</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Acidobacteria|c__Solibacteres|o__Solibacterales|f__Solibacteraceae</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Acidimicrobiia|o__Acidimicrobiales|f__Acidimicrobiaceae</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Acidothermales|f__Acidothermaceae</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Actinomycetales|f__Actinomycetaceae</th>\n",
       "      <td>0.0</td>\n",
       "      <td>163.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>283.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>87.0</td>\n",
       "      <td>82.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1817.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>98.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>174.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 529 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    106_V2  106_V6  106_V7  \\\n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0    17.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...     0.0     0.0    14.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     0.0   163.0     6.0   \n",
       "\n",
       "                                                    106_S_1  106_A1  107_V2  \\\n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...      4.0     1.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...      4.0     2.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...      5.0   283.0     0.0   \n",
       "\n",
       "                                                    107_V3  107_V6  107_S1  \\\n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     9.0    87.0    82.0   \n",
       "\n",
       "                                                    107_V7  ...  264_S2F  \\\n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     0.0  ...      0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...    18.0  ...   1817.0   \n",
       "\n",
       "                                                    264_V9  264_V10  264_V11  \\\n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     6.0      3.0     39.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...     0.0      0.0      0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...     0.0      0.0      0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     0.0      0.0      0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...    32.0     33.0     33.0   \n",
       "\n",
       "                                                    264_V12  265_V2  265_V5  \\\n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     20.0     0.0     5.0   \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...      0.0     0.0     0.0   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     48.0    98.0    14.0   \n",
       "\n",
       "                                                    265_V6  265_V8  265_S1  \n",
       "d__Bacteria|p__Acidobacteria|c__Acidobacteriia|...     0.0    15.0     0.0  \n",
       "d__Bacteria|p__Acidobacteria|c__Solibacteres|o_...     0.0     0.0     0.0  \n",
       "d__Bacteria|p__Actinobacteria|c__Acidimicrobiia...     0.0     0.0     0.0  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...     0.0     0.0     0.0  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...    16.0    64.0   174.0  \n",
       "\n",
       "[5 rows x 529 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "kraken_family_abunds = pd.read_csv('../../data/stool/kraken_taxa_level_abunds/kraken_family_abunds.tsv', sep='\\t', index_col=0)\n",
    "kraken_family_abunds = kraken_family_abunds[meta.query(\"`gt_2.5` == True\").index]\n",
    "print(kraken_family_abunds.shape)\n",
    "display(kraken_family_abunds.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "0cd4ea1f-112a-4f0b-a80f-1a9563a2c0a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(529, 86)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/6t/1w2t3qmd1rx81mfw9sq_tfpr0000gn/T/ipykernel_12559/1022001642.py:2: FutureWarning: Passing a set as an indexer is deprecated and will raise in a future version. Use a list instead.\n",
      "  meta_matched = meta.loc[in_both]\n"
     ]
    }
   ],
   "source": [
    "in_both = set(meta.index) & set(kraken_genus_abunds.columns)\n",
    "meta_matched = meta.loc[in_both]\n",
    "print(meta_matched.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "af902bea-8307-428d-a875-39eef4b38e25",
   "metadata": {},
   "outputs": [],
   "source": [
    "meta_v5 = meta_matched.query(\"VisitCode == 'V5'\")\n",
    "meta_v6 = meta_matched.query(\"VisitCode == 'V6'\")\n",
    "meta_v7 = meta_matched.query(\"VisitCode == 'V7'\")\n",
    "meta_v9 = meta_matched.query(\"VisitCode == 'V9'\")\n",
    "\n",
    "meta_PCV = meta_matched.loc[~pd.isna(meta_matched['median_mmNorm_PCV'])]\n",
    "meta_PCV_v5 = meta_PCV.query(\"VisitCode == 'V5'\")\n",
    "meta_PCV_v6 = meta_PCV.query(\"VisitCode == 'V6'\")\n",
    "meta_PCV_v7 = meta_PCV.query(\"VisitCode == 'V7'\")\n",
    "meta_PCV_v9 = meta_PCV.query(\"VisitCode == 'V9'\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e0151bb-6764-4c59-99c3-a695d0796ae3",
   "metadata": {},
   "source": [
    "## Genus level correlations with median of all titers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "57169c77-5b4e-41cb-a066-c1847d876425",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "331\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Desulfobacterales|f__Desulfobacteraceae|g__Desulfatibacillum</th>\n",
       "      <td>0.411292</td>\n",
       "      <td>0.006144</td>\n",
       "      <td>0.776318</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|g__Ndongobacter</th>\n",
       "      <td>0.405958</td>\n",
       "      <td>0.006913</td>\n",
       "      <td>0.776318</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Porphyromonadaceae|g__Porphyromonas</th>\n",
       "      <td>0.387339</td>\n",
       "      <td>0.010283</td>\n",
       "      <td>0.776318</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Propionibacteriales|f__Propionibacteriaceae|g__Propionimicrobium</th>\n",
       "      <td>0.376331</td>\n",
       "      <td>0.012874</td>\n",
       "      <td>0.776318</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae|g__Odoribacter</th>\n",
       "      <td>0.371907</td>\n",
       "      <td>0.014061</td>\n",
       "      <td>0.776318</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.411292  0.006144   \n",
       "d__Bacteria|p__Firmicutes|g__Ndongobacter           0.405958  0.006913   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.387339  0.010283   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.376331  0.012874   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.371907  0.014061   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.776318  \n",
       "d__Bacteria|p__Firmicutes|g__Ndongobacter           0.776318  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.776318  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.776318  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.776318  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_genus_abunds_v5 = kraken_genus_abunds[meta_v5.index]\n",
    "kraken_genus_abunds_v5 = kraken_genus_abunds_v5.loc[(kraken_genus_abunds_v5 > 0).sum(axis=1) > kraken_genus_abunds_v5.shape[1]*.2]\n",
    "print(len(kraken_genus_abunds_v5))\n",
    "v5_correlations = kraken_genus_abunds_v5.transpose().apply(spearmanr, b=meta_v5['median_mmNorm']).transpose()\n",
    "v5_correlations.columns = ['rho', 'p_value']\n",
    "v5_correlations['p_adj'] = p_adjust(v5_correlations['p_value'])\n",
    "v5_correlations = v5_correlations.sort_values('p_value')\n",
    "v5_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "6bbafdb6-6913-469b-befd-1382a657f7ed",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Oligoflexia|o__Bacteriovoracales|f__Halobacteriovoraceae|g__Halobacteriovorax</th>\n",
       "      <td>0.409617</td>\n",
       "      <td>0.005202</td>\n",
       "      <td>0.997781</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Cyanobacteria|o__Chroococcales|f__Chroococcaceae|g__Geminocystis</th>\n",
       "      <td>0.335120</td>\n",
       "      <td>0.024430</td>\n",
       "      <td>0.997781</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Propionibacteriales|f__Propionibacteriaceae|g__Propionimicrobium</th>\n",
       "      <td>0.326688</td>\n",
       "      <td>0.028502</td>\n",
       "      <td>0.997781</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactobacillales|f__Enterococcaceae|g__Melissococcus</th>\n",
       "      <td>0.317101</td>\n",
       "      <td>0.033801</td>\n",
       "      <td>0.997781</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Prevotellaceae|g__Prevotella</th>\n",
       "      <td>0.316709</td>\n",
       "      <td>0.034034</td>\n",
       "      <td>0.997781</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.409617  0.005202   \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.335120  0.024430   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.326688  0.028502   \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactoba...  0.317101  0.033801   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.316709  0.034034   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.997781  \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.997781  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.997781  \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactoba...  0.997781  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.997781  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_genus_abunds_v6 = kraken_genus_abunds[meta_v6.index]\n",
    "kraken_genus_abunds_v6 = kraken_genus_abunds_v6.loc[(kraken_genus_abunds_v6 > 0).sum(axis=1) > kraken_genus_abunds_v6.shape[1]*.2]\n",
    "v6_correlations = kraken_genus_abunds_v6.transpose().apply(spearmanr, b=meta_v6['median_mmNorm']).transpose()\n",
    "v6_correlations.columns = ['rho', 'p_value']\n",
    "v6_correlations['p_adj'] = p_adjust(v6_correlations['p_value'])\n",
    "v6_correlations = v6_correlations.sort_values('p_value')\n",
    "v6_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "fbfe8e12-0392-4276-9fdb-d77bb4fbbd09",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Morganellaceae|g__Proteus</th>\n",
       "      <td>0.383268</td>\n",
       "      <td>0.006008</td>\n",
       "      <td>0.995738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Pasteurellales|f__Pasteurellaceae|g__Gallibacterium</th>\n",
       "      <td>-0.360547</td>\n",
       "      <td>0.010108</td>\n",
       "      <td>0.995738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Enterobacteriaceae|g__Cronobacter</th>\n",
       "      <td>-0.346676</td>\n",
       "      <td>0.013648</td>\n",
       "      <td>0.995738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Legionellales|f__Legionellaceae|g__Legionella</th>\n",
       "      <td>0.326401</td>\n",
       "      <td>0.020701</td>\n",
       "      <td>0.995738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Cytophagia|o__Cytophagales|f__Hymenobacteraceae|g__Pontibacter</th>\n",
       "      <td>0.318392</td>\n",
       "      <td>0.024232</td>\n",
       "      <td>0.995738</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.383268  0.006008   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.360547  0.010108   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.346676  0.013648   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.326401  0.020701   \n",
       "d__Bacteria|p__Bacteroidetes|c__Cytophagia|o__C...  0.318392  0.024232   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.995738  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.995738  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.995738  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.995738  \n",
       "d__Bacteria|p__Bacteroidetes|c__Cytophagia|o__C...  0.995738  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_genus_abunds_v7 = kraken_genus_abunds[meta_v7.index]\n",
    "kraken_genus_abunds_v7 = kraken_genus_abunds_v7.loc[(kraken_genus_abunds_v7 > 0).sum(axis=1) > kraken_genus_abunds_v7.shape[1]*.2]\n",
    "v7_correlations = kraken_genus_abunds_v7.transpose().apply(spearmanr, b=meta_v7['median_mmNorm']).transpose()\n",
    "v7_correlations.columns = ['rho', 'p_value']\n",
    "v7_correlations['p_adj'] = p_adjust(v7_correlations['p_value'])\n",
    "v7_correlations = v7_correlations.sort_values('p_value')\n",
    "v7_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "aca564d7-f291-4a2e-b212-ea974594f62e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Coriobacteriia|o__Coriobacteriales|f__Atopobiaceae|g__Olsenella</th>\n",
       "      <td>0.490337</td>\n",
       "      <td>0.000979</td>\n",
       "      <td>0.270850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae|g__Altererythrobacter</th>\n",
       "      <td>0.489523</td>\n",
       "      <td>0.001001</td>\n",
       "      <td>0.270850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Rubrobacteria|o__Rubrobacterales|f__Rubrobacteraceae|g__Rubrobacter</th>\n",
       "      <td>0.448357</td>\n",
       "      <td>0.002903</td>\n",
       "      <td>0.523470</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Tissierellia|o__Tissierellales|f__Peptoniphilaceae|g__Finegoldia</th>\n",
       "      <td>0.430471</td>\n",
       "      <td>0.004432</td>\n",
       "      <td>0.599479</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacillales|f__Planococcaceae|g__Jeotgalibacillus</th>\n",
       "      <td>0.404899</td>\n",
       "      <td>0.007818</td>\n",
       "      <td>0.832174</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.490337  0.000979   \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.489523  0.001001   \n",
       "d__Bacteria|p__Actinobacteria|c__Rubrobacteria|...  0.448357  0.002903   \n",
       "d__Bacteria|p__Firmicutes|c__Tissierellia|o__Ti...  0.430471  0.004432   \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacilla...  0.404899  0.007818   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.270850  \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.270850  \n",
       "d__Bacteria|p__Actinobacteria|c__Rubrobacteria|...  0.523470  \n",
       "d__Bacteria|p__Firmicutes|c__Tissierellia|o__Ti...  0.599479  \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacilla...  0.832174  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_genus_abunds_v9 = kraken_genus_abunds[meta_v9.index]\n",
    "kraken_genus_abunds_v9 = kraken_genus_abunds_v9.loc[(kraken_genus_abunds_v9 > 0).sum(axis=1) > kraken_genus_abunds_v9.shape[1]*.2]\n",
    "v9_correlations = kraken_genus_abunds_v9.transpose().apply(spearmanr, b=meta_v9['median_mmNorm']).transpose()\n",
    "v9_correlations.columns = ['rho', 'p_value']\n",
    "v9_correlations['p_adj'] = p_adjust(v9_correlations['p_value'])\n",
    "v9_correlations = v9_correlations.sort_values('p_value')\n",
    "v9_correlations.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a06fb90e-1596-47ba-a582-e516a30f6bf2",
   "metadata": {},
   "source": [
    "Nothing is significant at the genus level."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "04be123e-d2e2-493e-8734-78312dd51d6d",
   "metadata": {},
   "source": [
    "## Family level correlations with median of all titers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b54077c5-5752-4b3b-a86c-0414566048b2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Micrococcales|f__Dermacoccaceae</th>\n",
       "      <td>-0.476670</td>\n",
       "      <td>0.001231</td>\n",
       "      <td>0.204417</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Desulfobacterales|f__Desulfobacteraceae</th>\n",
       "      <td>0.420848</td>\n",
       "      <td>0.004951</td>\n",
       "      <td>0.410965</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Thiotrichales|f__Piscirickettsiaceae</th>\n",
       "      <td>0.373152</td>\n",
       "      <td>0.013718</td>\n",
       "      <td>0.583544</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae</th>\n",
       "      <td>0.371907</td>\n",
       "      <td>0.014061</td>\n",
       "      <td>0.583544</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Cytophagia|o__Cytophagales|f__Hymenobacteraceae</th>\n",
       "      <td>0.332068</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.738694</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.476670  0.001231   \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.420848  0.004951   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.373152  0.013718   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.371907  0.014061   \n",
       "d__Bacteria|p__Bacteroidetes|c__Cytophagia|o__C...  0.332068  0.029593   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.204417  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.410965  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.583544  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.583544  \n",
       "d__Bacteria|p__Bacteroidetes|c__Cytophagia|o__C...  0.738694  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_v5 = kraken_family_abunds[meta_v5.index]\n",
    "kraken_family_abunds_v5 = kraken_family_abunds_v5.loc[(kraken_family_abunds_v5 > 0).sum(axis=1) > kraken_family_abunds_v5.shape[1]*.2]\n",
    "v5_correlations = kraken_family_abunds_v5.transpose().apply(spearmanr, b=meta_v5['median_mmNorm']).transpose()\n",
    "v5_correlations.columns = ['rho', 'p_value']\n",
    "v5_correlations['p_adj'] = p_adjust(v5_correlations['p_value'])\n",
    "v5_correlations = v5_correlations.sort_values('p_value')\n",
    "v5_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "85eb8926-3f0b-4ff3-9cfa-df94107d52c1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Oligoflexia|o__Bacteriovoracales|f__Halobacteriovoraceae</th>\n",
       "      <td>0.409617</td>\n",
       "      <td>0.005202</td>\n",
       "      <td>0.807816</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Cyanobacteria|o__Chroococcales|f__Chroococcaceae</th>\n",
       "      <td>0.383083</td>\n",
       "      <td>0.009393</td>\n",
       "      <td>0.807816</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Prevotellaceae</th>\n",
       "      <td>0.316709</td>\n",
       "      <td>0.034034</td>\n",
       "      <td>0.995092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae</th>\n",
       "      <td>0.286955</td>\n",
       "      <td>0.055980</td>\n",
       "      <td>0.995092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Myxococcales|f__Myxococcaceae</th>\n",
       "      <td>0.282137</td>\n",
       "      <td>0.060419</td>\n",
       "      <td>0.995092</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.409617  0.005202   \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.383083  0.009393   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.316709  0.034034   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.286955  0.055980   \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.282137  0.060419   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.807816  \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.807816  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.995092  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.995092  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.995092  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_v6 = kraken_family_abunds[meta_v6.index]\n",
    "kraken_family_abunds_v6 = kraken_family_abunds_v6.loc[(kraken_family_abunds_v6 > 0).sum(axis=1) > kraken_family_abunds_v6.shape[1]*.2]\n",
    "v6_correlations = kraken_family_abunds_v6.transpose().apply(spearmanr, b=meta_v6['median_mmNorm']).transpose()\n",
    "v6_correlations.columns = ['rho', 'p_value']\n",
    "v6_correlations['p_adj'] = p_adjust(v6_correlations['p_value'])\n",
    "v6_correlations = v6_correlations.sort_values('p_value')\n",
    "v6_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "1e9aadb9-5744-4601-bef2-56c3895824d9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Peptococcaceae</th>\n",
       "      <td>0.324532</td>\n",
       "      <td>0.021484</td>\n",
       "      <td>0.99836</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Clostridiales_Family_XIII_Incertae_Sedis</th>\n",
       "      <td>0.312812</td>\n",
       "      <td>0.026981</td>\n",
       "      <td>0.99836</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Marinilabiliales|f__Marinifilaceae</th>\n",
       "      <td>0.287802</td>\n",
       "      <td>0.042693</td>\n",
       "      <td>0.99836</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Legionellales|f__Legionellaceae</th>\n",
       "      <td>0.267673</td>\n",
       "      <td>0.060202</td>\n",
       "      <td>0.99836</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Morganellaceae</th>\n",
       "      <td>0.251141</td>\n",
       "      <td>0.078537</td>\n",
       "      <td>0.99836</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.324532  0.021484   \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.312812  0.026981   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.287802  0.042693   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.267673  0.060202   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.251141  0.078537   \n",
       "\n",
       "                                                      p_adj  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.99836  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.99836  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.99836  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.99836  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.99836  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_v7 = kraken_family_abunds[meta_v7.index]\n",
    "kraken_family_abunds_v7 = kraken_family_abunds_v7.loc[(kraken_family_abunds_v7 > 0).sum(axis=1) > kraken_family_abunds_v7.shape[1]*.2]\n",
    "v7_correlations = kraken_family_abunds_v7.transpose().apply(spearmanr, b=meta_v7['median_mmNorm']).transpose()\n",
    "v7_correlations.columns = ['rho', 'p_value']\n",
    "v7_correlations['p_adj'] = p_adjust(v7_correlations['p_value'])\n",
    "v7_correlations = v7_correlations.sort_values('p_value')\n",
    "v7_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "f11775af-f323-441f-a848-9dc3e661c8ae",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae</th>\n",
       "      <td>0.546170</td>\n",
       "      <td>0.000183</td>\n",
       "      <td>0.031558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Xanthomonadales|f__Xanthomonadaceae</th>\n",
       "      <td>0.533177</td>\n",
       "      <td>0.000277</td>\n",
       "      <td>0.031558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Nitrosomonadales|f__Methylophilaceae</th>\n",
       "      <td>0.520369</td>\n",
       "      <td>0.000412</td>\n",
       "      <td>0.031558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Rubrobacteria|o__Rubrobacterales|f__Rubrobacteraceae</th>\n",
       "      <td>0.448357</td>\n",
       "      <td>0.002903</td>\n",
       "      <td>0.166910</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Coriobacteriia|o__Coriobacteriales|f__Atopobiaceae</th>\n",
       "      <td>0.425753</td>\n",
       "      <td>0.004938</td>\n",
       "      <td>0.227135</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.546170  0.000183   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.533177  0.000277   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.520369  0.000412   \n",
       "d__Bacteria|p__Actinobacteria|c__Rubrobacteria|...  0.448357  0.002903   \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.425753  0.004938   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.031558  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.031558  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.031558  \n",
       "d__Bacteria|p__Actinobacteria|c__Rubrobacteria|...  0.166910  \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.227135  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_v9 = kraken_family_abunds[meta_v9.index]\n",
    "kraken_family_abunds_v9 = kraken_family_abunds_v9.loc[(kraken_family_abunds_v9 > 0).sum(axis=1) > kraken_family_abunds_v9.shape[1]*.2]\n",
    "v9_correlations = kraken_family_abunds_v9.transpose().apply(spearmanr, b=meta_v9['median_mmNorm']).transpose()\n",
    "v9_correlations.columns = ['rho', 'p_value']\n",
    "v9_correlations['p_adj'] = p_adjust(v9_correlations['p_value'])\n",
    "v9_correlations = v9_correlations.sort_values('p_value')\n",
    "v9_correlations.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4e833e94-d242-4ef7-a560-b87dc1387e8b",
   "metadata": {},
   "source": [
    "There are three significant results but they are all ocean bacteria. These are likely artifacts of an old and incomplete Kraken database."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "aefe16ae-d9b2-46df-ba0f-46324db00c72",
   "metadata": {},
   "outputs": [],
   "source": [
    "sig_families_v9 = pd.concat((kraken_family_abunds_v9.loc[v9_correlations.query(\"p_adj < .05\").index].transpose(), meta_v9['median_mmNorm'], meta_v9['median_mmNorm_DTAPHib'], meta_v9['median_mmNorm_PCV']), axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "d158af35-dcb3-437d-90a0-ce7132db43a6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAowAAAGtCAYAAACcKyXYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTFElEQVR4nO3deVxU1f8/8BergAio45KmH03BckEQhIrFXcstE9Q09WOWaZSiKWlpWZaKpZmQtmnaYqZplpaftM2lXMgkxUpFTSFRlG1gZBlm5vz+8Df3ywAOO/fO5fV8PHw85N6ZO+8z996Z15x777l2QggBIiIiIqLbsJe7ACIiIiJSNgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxzlLsAWmUwmGAwG2Nvbw87OTu5yiIiIqBKEEDCZTHB0dIS9PfvMqoKBsRoMBgOSkpLkLoOIiIiqoUePHnB2dpa7DJvCwFgN5l8lPXr0gIODQ60u22g0IikpqU6WrRRsozqwjerANqoD21i1ZbB3seoYGKvBfBjawcGhznbMuly2UrCN6sA2qgPbqA5sY+XwdLKqY8QmIiIiIqsYGImIiIjIKgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgq3hqQiIgsaPP1yNDpkVtYDA9XJ2gaO8PTzVnusmwG3z9SIwZGIiKSpOUUYP6OUziUnCFNC/fWIDbCF228XGWszDbw/SO14iFpIiICcKtnrHTYAYCDyRlYsOMUtPl6mSqzDXz/SM0YGImICACQodOXCTtmB5MzkKFj4LGG7x+pGQMjEREBAHILi63Oz6tgfkPH94/UjIGRiIgAAB4uTlbnN6lgfkPH94/UjIGRiIgAABp3Z4R7a8qdF+6tgcadV/paw/eP1IyBkYiIAACebs6IjfAtE3rCvTVYEeHLoWEqwPeP1IzD6hARkaSNlyvix/sjQ6dHXmExmrg4QePOcQQri+8fqRUDIxERWfB0Y8CpCb5/pEY8JE1EREREVjEwEhEREZFVDIxEREREZBUDIxERERFZxcBIRERERFYxMBIRERGRVQyMRERERGQVAyMRERERWcXASERERERWMTASERERkVUMjERERERkFQMjEREREVnFwEhEREREVjEwEhEREZFVDIxEREREZBUDIxERERFZxcBIRERERFYxMBIRERGRVQyMRERERGQVAyMRERERWcXASERERERWMTASERERkVUMjERERERkFQMjEREREVnFwEhEREREVjEwEhEREZFVDIxEREREZJWqAmNmZiaioqIQGBiI4OBgLF26FAaDwepzzp07h549e+LYsWP1VCURERGRbVFVYJw9ezbc3Nxw6NAhbN++HUeOHMGmTZtu+/iCggLMnTsXhYWF9VckERERkY1RTWC8fPkyEhISEBMTA1dXV7Rr1w5RUVHYvHnzbZ/zyiuvYODAgfVYJREREZHtcZS7gNqSnJwMLy8vtGrVSprWqVMnpKWlITc3Fx4eHhaP/+qrr3D58mUsXboU69atq9ZrGo3GGtVsbZl1sWylYBvVgW1UB7ZRHdjGqi2Dqk41gfHmzZtwdXW1mGb+Oz8/3yIwXrhwAatXr8aWLVvg4OBQ7ddMSkqq9nPlXLZSsI3qwDaqA9uoDmwj1RXVBEY3NzcUFBRYTDP/3bhxY2laUVER5syZgxdeeAFt2rSp0Wv26NGjRoGzPEajEUlJSXWybKVgG9WBbVQHtlEd2MaqLYOqTjWB0dvbGzk5OcjIyIBGowFwqyexdevWaNKkifS4pKQkXLp0CQsXLsTChQul6TNmzMBDDz2El19+udKv6eDgUGc7Zl0uWynYRnVgG9WBbVQHtpHqimoCY4cOHRAQEIBly5ZhyZIlyM7Oxrp16xAZGWnxuMDAQJw6dcpiWpcuXfDuu+8iODi4PksmIiIisgmquUoaAOLi4mAwGDBgwACMHTsWYWFhiIqKAgD4+/tj165dMldIREREZHtU08MIABqNBnFxceXOS0xMvO3zzp49W1clEVmlzdcjQ6dHbmExPFydoGnsDE83Z7nLIiIisqCqwEhkS9JyCjB/xykcSs6QpoV7axAb4Ys2Xq5WnklERFS/VHVImshWaPP1ZcIiABxMzsCCHaegzdfLVBkREVFZDIxEMsjQ6cuERbODyRnI0DEwEhGRcjAwEskgt7DY6vy8CuYTERHVJwZGIhl4uDhZnd+kgvlERET1iYGRSAYad2eEe2vKnRfurYHGnVdKExGRcjAwEsnA080ZsRG+ZUJjuLcGKyJ8ObQOEREpCofVIZJJGy9XxI/3R4ZOj7zCYjRxcYLGneMwEhGR8jAwEsnI040BkYiIlI+HpImIiIjIKgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmAkIiIiIqsYGImIiIjIKgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmAkIiIiIqsYGImIiIjIKgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmAkIiIiIqsYGImIiIjIKgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmAkoirT5uvxT2Y+jJ7tcCmzANp8vdwlERFRHXKUuwAisi1pOQWYv+MUDiVnSNPCvTWIjfBFGy9XGSsjIqK6wh5GIqo0bb6+TFgEgIPJGViw4xR7GomIVIqBkYgqLUOnLxMWzQ4mZyBDx8BIRKRGDIxEVGm5hcVW5+dVMJ+IiGwTAyMRVZqHi5PV+U0qmE9ERLaJgZGIKk3j7oxwb02588K9NdC4O9dzRUREVB8YGImo0jzdnBEb4VsmNIZ7a7AiwheebgyMRERqpKphdTIzM/Hiiy8iISEBDg4OGDlyJObPnw9HR8tmmkwmrF27Ftu3b0dubi7uvPNOPPXUUxg6dKhMlRPZjjZerogf748buiJk5RagmYcrWrg3YlgkIlIxVfUwzp49G25ubjh06BC2b9+OI0eOYNOmTWUet3nzZnz11Vf45JNPkJiYiGeffRZz585FSkpK/RdNZIM83ZzRsbkbHLSp6NjcjWGRiEjlVBMYL1++jISEBMTExMDV1RXt2rVDVFQUNm/eXOaxjz76KHbv3o327dtDr9cjKysLrq6ucHFxkaFyIiIiImVTzSHp5ORkeHl5oVWrVtK0Tp06IS0tDbm5ufDw8JCm29vbw83NDb/88gumTZsGIQSef/55tGzZUo7SiYiIiBRNNYHx5s2bcHW1vC2Z+e/8/HyLwGgWFBSEpKQk/Pbbb4iKikKLFi2qdB6j0WisWdFWllkXy1YKtlEd2EZ1YBvVgW2s2jKo6lQTGN3c3FBQUGAxzfx348aNy32Os/Ot867uu+8+PPTQQ9i9e3eVAmNSUlI1q5V32UrBNqoD26gObKM6sI1UV1QTGL29vZGTk4OMjAxoNLeG/Lhw4QJat26NJk2aWDw2NjYWALBgwQJpml6vh5eXV5Ves0ePHnBwcKhZ4aUYjUYkJSXVybKVgm1UB7ZRHdhGdWAbq7YMqjrVBMYOHTogICAAy5Ytw5IlS5CdnY1169YhMjKyzGMDAwMxb948DBgwAAEBAdi/fz/27NmDDz/8sEqv6eDgUGc7Zl0uWynYRnVgG9WBbVQHtpHqiqIC4/Hjx3HlyhUIISymjxo1qlLPj4uLw5IlSzBgwADY29tj1KhRiIqKAgD4+/vjlVdewciRIzFw4EAsWrQIixYtQkZGBjp06ID4+Hj06tWrtptEREREZPMUExgXL16M7du3o2XLlrCzs5Om29nZVTowajQaxMXFlTsvMTHR4u/IyMhyex+JiIiIyJJiAuOePXuwdetWdO/eXe5SiIiIiKgExQzc3aRJE/j4+MhdBhERERGVopgexqeeegoLFy7E448/XmbMxDZt2shUFREREdUnbb4eGTo9cguL4eHqBE1jZ95+VAEUExiLioqwZ88efPPNN9I0IQTs7Ozw999/y1gZERER1Ye0nALM33EKh5IzpGnh3hrERviiVROGRjkpJjCuW7cOixYtQmhoKOztFXOknIiIiOqBNl9fJiwCwMHkDCzYcQprHvGTpzACoKDAaDQaMX78eLnLICIiIhlk6PRlwqLZweQMZN7U13NFVJJiuvJGjx6Njz/+WO4yiIiISAa5hcVW5+cVGuqpEiqPYnoYT506hY0bN2LNmjXw9PS0GIvxxx9/lLEyIiIiqmseLk5W5zdxcYS2nmqhshQTGDmQNhERUcOlcXdGuLcGB8s5LB3urUHzxs4MjDJSTGDct28f3njjDbi7u8tdChEREdUzTzdnxEb4YsGOUxahMdxbgxURvvBwUUxkaZAU8+4nJibC2ZmXzBMRETVUbbxcET/eHxk6PfIKi9HExQka91vjMBqNRrnLa9AUExiHDx+OWbNmYcSIEWjRooXFOYy9e/eWsTIiIiKqL55uHKhbiRQTGD/99FMAwP79+y2mc+BuIiIiInkpJjCeOXNG7hKIiIiIqByKCYwAcO3aNezevRtXrlxBy5YtMXz4cLRv317usoiIiIgaNMUM3J2UlIRhw4Zh37590Gq1+PHHHzFy5Ej8/vvvcpdGRERE1KAppofxjTfeQHR0NCZPnixN++ijj7By5Ups2bJFxsqIiIiIGjbF9DCePXsWEyZMsJg2YcIEnDt3TqaKiIiIiAhQUGB0dXXF1atXLaZdvXoVnp6eMlVERERERICCAuPQoUMxc+ZMHDp0CP/88w8OHDiAWbNmYejQoXKXRkRERNSgKeYcxujoaGRlZSEqKgrFxcVo1KgRIiIi8Mwzz8hdGhEREVGDppjA2KhRI8TGxmLJkiXQarXQaDQWd3shIiIiInnIHhh/++23cqdfunRJ+j9vDUhEREQkH9kD46RJk8qdXrJ3kbcGJCIiIpKP7IGxvFsC6vV6rFixAlu3bsWsWbNkqIqIiIiIzGQPjKWlpqZi9uzZyM7Oxscff4xevXrJXRIRERFRg6aYYXUAYO/evXj44YfRokULfPnllwyLRERERAqgiB7G4uJiLFu2DF988QWeffZZTJ06Ve6SiIiIiOj/kz0wpqamIjo6GlqtFp999hl8fX3lLomIiIiISpA9MI4aNQr5+fno378/tmzZgi1btpR5zPLly2WojIiIiIgABQTGQYMGcYBuIiIiIgWTPTDGxsbKXQIRERERWSF7YDQrLi7Gnj17cOXKFZhMJot5vJ80ERERkXwUExjnzp2LY8eOwdvb2+IQNQ9XExEREclLMYHxl19+wa5du3DnnXfKXQoRERERlaCYgbtbtGgBLy8vucsgIiIiolIU08M4f/58REdHY8KECfDw8LCY17t3b5mqIiIiIiLFBMaTJ0/i119/xa+//mox3c7ODn///bdMVRERERGRYgLjZ599hvfffx+hoaGwt1fMkXIiIiKiBk8xyaxRo0YICQlhWCQiIiJSGMWks8ceewwrV66EVquVuxQiIiIiKkExh6Q3b96MtLQ0bNq0qcw8nsNIREREJB/FBEbeIpCIiIhImRQTGIOCguQugYiIiIjKoZjAeODAAbz22mu4cuUKhBAW83hImoiIiEg+igmMS5YsweDBg9GnTx9eKU1ERESkIIoJjDk5OZg3bx4cHBzkLoWIiIiISlBMV16/fv1w4MABucsgIiIiolIU08M4efJkTJgwAZ07dy5zL+mPP/5YpqqIiIiISDGB8aWXXoK/vz8CAwN5WJqIiIhIQRQTGC9fvoyEhAQ4OTnJXQoRERERlaCYcxjvuecepKamyl0GEREREZWimB7G++67D5MnT8YDDzwALy8vi3nPPPOMPEURERERkXICY0JCAjp27IizZ89aTLezs5OpIiIiIiICFBQYP/nkkwof8/777+PJJ5+sh2qIiIiIyEwx5zBWxrvvvit3CUREREQNjk0FxtL3mCYiIiKiumdTgZHnMxIRERHVP5sKjERERERU/xgYiYiIiMgqBkYiIiIissqmAiMveiEiIiKqfzYVGMeMGSN3CUREREQNjmIG7r558yY+++wzXLp0CSaTyWLe8uXLAQAvvPCCHKURERERNWiK6WF8/vnn8fHHH6OoqEjuUoiIiIioBMX0MB47dgzbt29Hu3btqr2MzMxMvPjii0hISICDgwNGjhyJ+fPnw9GxbDO3bNmCTZs24fr162jZsiUmT56MRx99tCZNICIiIlIlxfQwNmrUCK1atarRMmbPng03NzccOnQI27dvx5EjR7Bp06Yyj/vhhx/w5ptvYsWKFThx4gRiY2Px1ltvYe/evTV6fSJSD22+Hv9k5sPo2Q6XMgugzdfLXRIRkWwUExgnTJiA2NhYZGVlVev5ly9fRkJCAmJiYuDq6op27dohKioKmzdvLvPY9PR0TJs2DX5+frCzs4O/vz+Cg4Px22+/1bQZRKQCaTkFeGZLIga+eRBj1/+GAW8ewMwtiUjLKZC7NCIiWSjmkPS2bduQlpaGLVu2lJn3999/V/j85ORkeHl5WfRSdurUCWlpacjNzYWHh4c0vfSh58zMTPz22294/vnnq1Sz0Wis0uOrssy6WLZSsI3qoNY25hYaMH/HKRxKzrCYfjA5Awt2nMKaR/zg4aKYj84aU+t6LIltVIfaaKOa35+6pphPvdjY2Bo9/+bNm3B1dbWYZv47Pz/fIjCWdOPGDUyfPh3du3fH8OHDq/SaSUlJ1StW5mUrBduoDmpro0vLDmXCotnB5AykZelw8fql+i2qHqhtPZaHbVSHhtBGJVJMYAwKCip3emUPUbu5uaGgwPJwkfnvxo0bl/ucP/74A9HR0QgMDMTy5cvLvTjGmh49esDBwaFKz6mI0WhEUlJSnSxbKdhGdVBrG09dybU6Xy/s4efnVz/F1AO1rseS2EZ1qI02mpdBVaeYwHjq1Cm8/vrrSE9Pl8ZhLC4uRlZWFk6fPl3h8729vZGTk4OMjAxoNBoAwIULF9C6dWs0adKkzOO3b9+O1157DbNmzcLUqVOrVbODg0Od7Zh1uWylYBvVQW1t9HBxqnC+mtprprb1WB62UR0aQhuVSDEXvSxZsgQtWrRAaGgoOnbsiIkTJ8LBwQFz586t1PM7dOiAgIAALFu2DDqdDqmpqVi3bh0iIyPLPHbv3r14+eWXER8fX+2wSETqpHF3Rri3ptx54d4aaNyd67kiIiL5KSYwJicnY/ny5Xj00UdhNBrx2GOPYfXq1di9e3ellxEXFweDwYABAwZg7NixCAsLQ1RUFADA398fu3btAgC8/fbbMBqNmDVrFvz9/aV/L730Up20jYhsh6ebM2IjfMuExnBvDVZE+MLTjYGRiBoexRyS9vDwgIuLC9q1a4fk5GQAgJ+fH65cuVLpZWg0GsTFxZU7LzExUfp/VUKommnz9cjQ6ZFbWAwPVydoGjvzy5AIQBsvV8SP98cNXRGycgvQzMMVLdwbcf8gogZLMYHxrrvuwpYtWzB+/Hi4ubnh77//hrOzM+zs7OQuTZXScgrKDB0S7q1BbIQv2ni5WnkmUcPg6eYM90YO0KaeQ8eOfjxniogaNMUcko6OjsZbb72FlJQUPP744xg7diwiIiLw8MMPy12a6mjz9VbHmeMdLYiIiKgkxfQw9urVCwcPHoSTkxPGjRuHe+65B3l5eQgJCZG7tHqjzdfjhq5IuhWZxr1uDhFn6PRWx5nL0Ol56I2IiIgksgfGa9euoXXr1khLS7OYrtFooNFokJaWhjZt2shUXf2pz0PEuYXFVufnVTCfiIiIGhbZA+PQoUNx4sQJ9O/fv8z5ikII2NnZVerWgLasokPE8eP9a7XHr6Jx5ppUMJ+IiIgaFtkD47fffgsA+PHHH2WuRD71fYjYPM7cwXJek+PMERERUWmyB8Y77rgDANC2bVuZK5FPfR8iNo8zt2DHKYvQaOvjzHGYICIiorohe2C8++67Kxw6R+2HpOU4RGweZy5Dp0deYTGauDjV2UU29YHDBFFDwx9IRFSfZA+MH3/8MQDg119/xcGDB/HMM8+gffv2uHr1KtauXdsgrpKW6xCxp5s6vmDq+xxQIrnxBxIR1TfZx2EMCgpCUFAQ9uzZg3fffRcDBgyAt7c3wsPD8fbbb+PLL7+Uu8Q6x1uR1UxlzgElUguOo0pEcpC9h9EsKysLHh4eFtMaNWqEvLw8mSqqX7wVWfVxmCBqSDiOKhHJQfYeRrPevXtj/vz5SE1NRXFxMS5evIh58+ahT58+cpdWbzzdnNGxuRsctKno2NyNH/qVxGGCqCHhDyQikoNiAuOrr76KzMxMDBo0CL6+vhg2bBiMRiNefvlluUsjhTOfA1oeDhNEasMfSEQkB8Uckm7RogU2b96MtLQ0pKeno3Xr1tKQO0TWqHWYIKLycBxVIpKDYgIjcOs8xn379uHKlSuIjo7Gzz//jH79+sldFtkAtQ0TRHQ7/IFERHJQTGD8888/8dhjj+Guu+7C2bNnMXnyZERHR2Px4sWIiIiQuzyyAWoZJoioIvyBRET1TTHnMC5fvhwLFizA559/DkdHR7Rr1w5r167Fhg0b5C6NrNDm63Hhug6JKdm4cEPHIT2I6omnmzM6tXSHX/um6NTSnWGRiOqUYnoYz507h4ceeggApDu/hIWFYfbs2TJWRdZw8GAiIqKGQTE9jM2aNcPFixctpl28eBEaTflXv5K8OHgwERFRw6GYwDhhwgRMnz4d27Ztg8FgwJ49exAdHY2xY8fKXRqVg3dXISIiajgUc0h68uTJcHBwwEcffQSTyYS4uDiMGzcOU6ZMkbs0KgcHD749bb4eN3RFMHq2w6XMAl6MQERENk8xgTEnJwdarRY9e/aEr68vgFvnNb7wwgtYvny5zNVRaRw8uHw8r5OIiNRIMYekZ8+eja+//hpGo1HuUqgSeHeVsnheJxERqZViehhPnjyJn3/+GV5eXnKXQpXAwYPLqsx5nQ3xfSEiItunmMDYvn17FBc33PPebBEHD7bE8zqJiEitFBMYX3rpJTz55JMYNWoUPD09LeaNGjVKnqKoQry7yv/heZ1ERKRWigmM27dvx7lz57Bx40bY2//fqZV2dnYMjGQTzOd1HiznsHRDPa+TiIjUQTGB8bvvvsPXX3+Nzp07y10KUbXwvE4iIlIrxQTGpk2bon379nKXQVQj5vM6b+iKkJVbgGYermjh3ohhkYiIbJpiAuOsWbPw/PPP4/HHH4enp6d0P2kAaNOmjYyVEVWNp5sz3Bs5QJt6Dh07+sHBwUHukuqNNl+PDJ0euYXF8HB1gqYxz3ElIlIDxQTGBQsWAAC+/fZbKSwKIWBnZ4e///5bztKIqBI4aDkRkXopJjD++OOPcpdARNVU0aDl8eP92dNIRGTDFBMY27ZtK3cJRFRNHLSciEjdFHNrQCKyXRy0nIhI3RgYiajGOGg5EZG6MTASUY2ZBy0vDwctJyKyfQyMNkqbr8eF6zokpmTjwg0dtPl6uUuialDLejQPWl46NHLQciIidVDMRS9UeRy+RB3Uth7Ng5Zn6PTIKyxGExcnaNw5DiMRkRqwh9HGVDR8ia32UDU0al2Pnm7O6NTSHX7tm6JTS3eGRSIilWBgtDGVGb6ElI/rkYiIbAkDo43h8CXqwPVIRES2hIHRxnD4EnXgeiQiIlvCwGhjOHyJOnA9EhGRLWFgtDG2PnyJNl+PfzLzYfRsh0uZBTZ7cUdN2fp6JCKihoXD6tiguh6+RJuvR4ZOj9zCYni4OkHTuHaWrbZhZGqKw9CUr662PyIiqj4GRhvl6VY3X6J1FeoqGkYmfrx/gwwFdbUebRV/VBARKRMPSZOkLscG5DAydUctd4tR69iURERqwB5GklQm1FW3N4zDyNQNNfXI1eX2R0RENcMeRpLUZajjMDK1T209cvxRQUSkXAyMJKnLUMdhZGqf2g7z80cFEZFyMTCSpC5DHYeRqX1q65HjjwoiIuXiOYwKV59DjJhD3YIdp3Cw1DlxtRHqzMPI3NAVISu3AM08XNHCvRHDYjWprUeurrc/IiKqPgZGBZPjgoa6HhvQ080Z7o0coE09h44d/eDg4FAry22IzD1yB8s5LG2rPXIcm5KISJl4SFqhcgsNsl3Q4OnmjE4t3eHXvik6tXTnl7VCqfUwP7c/IiLlYQ+jQmXe5BAjVDH2yBERUX1gYFSovEJDBfNt64IGqpqqnLvKu8UQEVFdY2BUqCYu1leNrV3QQJWnpsG4iYhIHXgOo0I1b8whRhoitQ3GTURE6sDAqFAeLo6qvKCBrFPbYNxERKQOPCStYLygoeFR22DcRESkDgyMCscLGhoWtQ3GTURE6sBD0kQKwtvjERGREjEwEimIWgfjJiIi28ZD0kQK01DOXa3P+6QTEVHNMDCSaqgpgKj93FWONUlEZFtUdUg6MzMTUVFRCAwMRHBwMJYuXQqDwfodU/bu3YsBAwbUU4VUV9JyCvDMlkQMePMAHl53GANWHcDMLYlIyymQuzQqhWNNEhHZHlUFxtmzZ8PNzQ2HDh3C9u3bceTIEWzatKncxxYXF+ODDz7As88+CyFE/RZKtYoBxLZwrEkiItujmsB4+fJlJCQkICYmBq6urmjXrh2ioqKwefPmch8/depUHDt2DNOmTavnSqm2MYDYFo41SURke1RzDmNycjK8vLzQqlUraVqnTp2QlpaG3NxceHh4WDz+jTfeQOvWrfHll19W+zWNRmO1n1vRMuti2UpR222sKIDkFhbX+/tZXhtzCw3IvKlHXqEBHi5OaNbYCR4V3DNcyaq7Hiu6T7q7i6Nitn/uj+rANqpDbbRRze9PXbPdb6tSbt68CVdXy5PlzX/n5+eXCYytW7eu8WsmJSXVeBm1uWx7e3u4NdXA4OCGm0VGuDdygIMxH/nZGTCZTHVQZc3U1vvn0rKD1fnOdib88ccftfJaVZWUlAR7e3t4tP4PXv72HA6dz5TmhXVujpeH+SD32mVFrp/Kqup6dG/eEmGdm1u8F2ZhnZvDmJ+DP1LP1VZ5taIu93WlYBvVgW2kuqKawOjm5oaCAssLHMx/N27cuE5es0ePHnBwcKjVZRqNRiQlJVVr2el5Zc/lM1952qqJcq64rUkby5NbaEC4twYHyzksHe6tQZtm7vBo41fj16mKkm28WSww6/M/ygSkQ+cz8cqeZKx5xM8mexprsh5XRGqwYMcpi3Vmsa22a1Pb5VZLbW+rSsQ2qgPbWLVlUNXZ3rfUbXh7eyMnJwcZGRnQaG4NenzhwgW0bt0aTZo0qZPXdHBwqLMds6rLrujCj/jx/oobpqW23r+mjR0QG+FbbgBZEeGLpo0b1fg1qsvBwQFZOQVWz7HMulksa401VZ31aGtjTdblvq4UbKM6sI1UV1QTGDt06ICAgAAsW7YMS5YsQXZ2NtatW4fIyEi5S6sXlbnwQ6lfxrVByQGEF3mUT+1jTRIRqYlqrpIGgLi4OBgMBgwYMABjx45FWFgYoqKiAAD+/v7YtWuXzBXWHYaSWwGkU0t3+LVvik4t3RUTRjxcnKzOb1LBfCIiIrmppocRADQaDeLi4sqdl5iYWO700aNHY/To0XVZVr1gKFEujbuz1XMsNe7KCLZERES3o6oexobMHErKw1AiL083Z8RG+JZZP+ZzLJXSE0pERHQ7quphbMjMoeR2F3401FCilPtLK/kcSyIiooowMKpIGy9XvDGmJ7Jv6pFbaICHqyOaujmjlYeL3KXJIi2n4LbDDLXxcrXyzLrBizyIiMhWMTCqiNICkpxscZghIiIipeI5jCpRUUDS5jes+ynz/tJERES1h4FRJRiQLHGYISIiotrDwKgSDEiWOMwQERFR7WFgVAkGJEvuLo4I7dy83HmhnZvD3Qbv3UxERCQXBkaVqM44jNp8PS5c1yExJRsXbuhUdZ7jzSIDpoR0REip0BjSuTmmhHTEzSKDTJURERHZHnaz2KjyxhdcEeGL+ZUch1HtV1RrC4oxa0sipoZ2xNSQjigymNDI0R6JqTmYtSURnz0RLHeJRERENoOB0QZZC3uVGRy6IQw54+HihHy9EW//dL7c+Q3tED0REVFN8JC0gmjz9fgnMx9Gz3a4lFlQ7iHiisIeAHRq6Q6/9k3RqaV7ucGvIVxRzVslEhER1R72MCpEZQ8RVybsVdQ72BCuqOatEomIiGoPA6MCVOUQcW2EvYZyRTXv30xERFQ7GBgVoCq9hrUR9syHaw+W85pqO1zL+zcTERHVHM9hVICq9BrWxrl55sO1pZfDw7VERERUHvYwKkBVeg1r69w8Hq4lIiKiymJgVACNuzPCvDXlHpYOK6fXsLbCHg/XEhERUWUwMCrE0/06wyQEfj2fKU0L6dwcT/frXO7jGfaIiIiovjAwKkCGTo+pm34r964kUzf9ht3PhDIc1rLy7pTD95iIiKh8DIwKkFtYbPWuJGoYF1FJ1H5bRCIiotrGq6QVoKGMi1hV2nw9LlzXITElGxdu6Mq98011lmltzMvaeA0iIiK1YQ+jAjSkcRErq656AWvjTjlEREQNDXsYFYDjIlqqy15ANd4WsS56YomIiEpiD6NCmIfKuaErQlZuAZp5uKKFe6MGFxaBuu0FVNvhf56PSURE9YE9jAri6eaMjs3d4KBNRcfmbg0yLAJ12wtYG3fKUQqej0lERPWFgZEUpy57AdV0+L8yPbFERES1gYekSXHq+iIgtdwWUY3nYxIRkTKxh5EUpz56AT3dnNGppTv82jdFp5buNhcWAfWdj0lERMrFHkZSJLX0AtYlDsdERET1hYGxgbDFW+HxftnWmXtiF+w4ZREabfF8TCIiUjYGxgYgLacA87efwqHzHHpFbdgTS0RE9YHnMKqcNl9fJiwCt66inc+hV1RBDedjEhGRsjEwqtz1vKIyYdHsUHIGrucV1XNFREREZGt4SFrlcgqsD62irWC+Etni+ZhERES2jIFR5Ro7O1id71bBfKXhrfCIiIjqHw9Jq1xjZ0eEdG5e7ryQzs3R2Nl2fjPwVnhERETyYGBUOS83J8zs710mNIZ0bo6Z/b3h5WY7gzvzVnhERETysJ3uJaoWTzdn/KeZG4b7tsHUkI4oMpjQyNEe1/OK0KGZm02d+8db4REREcmDgbEBuMPLFUO7t7YYqy/wP01tKiwCvBUeERGRXBgYGwg13DWFt8IjIiKSB89hJJthvhVeuLfGYjpvhUdERFS32MNINsUOwIM97sB/7+9gcT4mERER1R0GRrIZ2nw9nitnWB3gVi9j/Hh/9jISERHVAR6SJpvBYXWIiIjkwcBINoPD6hAREcmDgZFsBofVISIikgcDI9kM87A65eGwOkRERHWHgVHhtPl6XLiuQ2JKNi7c0DXo+yVzWB0iIiJ58CppBUvLKcD8UlcFh3trEBvhizZerjJWJp82Xq6IH+9vcdcajbvtD0pORESkZOxhVKjcQkOZsAjcuhp4wY5TDb6nsVNLd/i1b4pOLd0ZFomIiOoYA6NCZd7kEDJERESkDAyMCpVXaKhgPoeQISIiovrBwKhQTVysn17KIWSIiIiovjAwKlTzxhxChoiIiJSBgVGhPFwcOYQMERERKQKH1VEwDiFDRERESsDAqHCebgyIREREJC8ekiYiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIis4kUvCqfN1yNDp0duYTE8XJ2gacyLYIiIiKh+MTAqWFpOAebvOGVxT+lwbw1iI3zRxstVxsqIiIioIVHVIenMzExERUUhMDAQwcHBWLp0KQyG8u/JfODAAYwYMQJ+fn548MEH8fPPP9dztdblFhrKhEUAOJicgQU7TkGbr5epMiIiImpoVBUYZ8+eDTc3Nxw6dAjbt2/HkSNHsGnTpjKPu3TpEmbOnIno6GgcP34cM2fOxOzZs5Genl7/RZegzdfjn8x8GD3bIT23qExYNDuYnIEMHQMjERER1Q/VBMbLly8jISEBMTExcHV1Rbt27RAVFYXNmzeXeezOnTsRGBiIgQMHwtHREUOHDkXv3r2xdetWGSq/JS2nAM9sScTANw9i7PrfcDHjptXH5xUW11NlRERE1NCpJjAmJyfDy8sLrVq1kqZ16tQJaWlpyM3NtXjs+fPn4ePjYzGtc+fOOHPmTL3UWpo2X1/m8HMjR+urpomLU12XRURERARARRe93Lx5E66ulheCmP/Oz8+Hh4eH1ce6uLggPz+/Sq9pNBqrWa2lG7qyh58TU3MQ0rk5fj2fWebx4d4aNGvsVGuvX9/Mddtq/ZXBNqoD26gObKM61EYb1fz+1DXVBEY3NzcUFBRYTDP/3bhxY4vprq6uKCwstJhWWFhY5nEVSUpKqkalZRk925WZ9uEv/yBuvD8AWITGsM7NsXioNy6d+wsmk6lWXl8utfX+KRnbqA5sozqwjerQENqoRKoJjN7e3sjJyUFGRgY0Gg0A4MKFC2jdujWaNGli8VgfHx/8+eefFtPOnz+P7t27V+k1e/ToAQcHh5oVDuCfzLI9m/l6I2ZtScTU0I54cVhXFBQb0cTFEc0bO8PDxRFo6Vvj15WL0WhEUlJSrb1/SsQ2qgPbqA5sozrURhvNy6CqU01g7NChAwICArBs2TIsWbIE2dnZWLduHSIjI8s8duTIkdi4cSP27NmDwYMHY9++fUhISMDChQur9JoODg61smO2cG+EcG8NDpY6LJ2vN+JUag6mhXZU5WDdtfX+KRnbqA5sozqwjerQENqoRKq56AUA4uLiYDAYMGDAAIwdOxZhYWGIiooCAPj7+2PXrl0Abl0Ms3btWrz33nvo3bs31q1bh/j4eHTs2FGWuj3dnBEb4Ytwb43F9HBvDVZE+KoyLBIREZHtUE0PIwBoNBrExcWVOy8xMdHi77CwMISFhdVHWZXSxssV8eP9cUNXhKzcAjTzcEUL90YMi0RERCQ7VfUw2jpPN2d0bO4GB20qOjZ3Y1gkIiIiRWBgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmAkIiIiIqtUdWvA+iKEAAAYjcZaX7Z5mXWxbKVgG9WBbVQHtlEd2MaqLcP8PU6VZyf4rlWZXq9HUlKS3GUQERFRNfTo0QPOzrz9blUwMFaDyWSCwWCAvb097Ozs5C6HiIiIKkEIAZPJBEdHR9jb86y8qmBgJCIiIiKrGK+JiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmBUiMzMTERFRSEwMBDBwcFYunQpDAaD3GXVmqysLAwaNAjHjh2Tpp08eRJjxoyBv78/+vfvjy+++ELGCqvvzJkzeOyxxxAUFISQkBA899xzyMrKAqCeNh45cgRjxoxBr169EBISgldffRWFhYUA1NNG4NZtwyZNmoQFCxZI09TUvj179qBr167w9/eX/sXExABQTztzcnLw3HPPITg4GL1790ZUVBSuX78OQB1t3LVrl8X68/f3R/fu3dG9e3cA6mgjAPz555949NFHERgYiNDQULz22mvQ6/UA1NNGmyNIESZOnCjmzp0r8vPzRUpKihg2bJj44IMP5C6rVhw/flwMHDhQ+Pj4iKNHjwohhMjJyRFBQUHi008/FcXFxeLw4cPC399fnDx5UuZqq6agoECEhISINWvWiKKiIpGVlSWmTZsmpk+frpo2ZmZmih49eogdO3YIo9Eo0tPTxfDhw8WaNWtU00azt956S9x9991i/vz5Qgj1bKdmsbGxYsGCBWWmq6mdEydOFE8//bTQarUiLy9PPPPMM+LJJ59UVRtLunbtmggJCRFfffWVatpoNBpFSEiI+Oijj4TRaBRXr14VQ4YMEW+//bZq2miL2MOoAJcvX0ZCQgJiYmLg6uqKdu3aISoqCps3b5a7tBrbuXMn5s2bhzlz5lhM37dvH7y8vPDoo4/C0dER9913H0aMGGFzbU5LS8Pdd9+Np59+Gs7OzmjatCnGjRuH3377TTVtbNasGQ4fPozRo0fDzs4OOTk5KCoqQrNmzVTTRuBWL+q+ffswePBgaZqa2gcASUlJUk9USWpp5+nTp3Hy5EnExsbCw8MD7u7uePXVVzFv3jzVtLEkIQRiYmLQt29fPPTQQ6ppo1arxY0bN2AymSD+/83o7O3t4erqqpo22iIGRgVITk6Gl5cXWrVqJU3r1KkT0tLSkJubK2NlNRcaGorvv/8eQ4cOtZienJwMHx8fi2mdO3fGmTNn6rO8Grvrrruwfv16ODg4SNP27t2Lbt26qaaNAODu7g4A6NOnD0aMGIEWLVpg9OjRqmljZmYmFi5ciFWrVsHV1VWarpb2AYDJZMKff/6J/fv3o1+/fggPD8eLL74IrVarmnaeOnUKnTt3xrZt2zBo0CCEhoZixYoVaNGihWraWNLXX3+N8+fPS6dQqKWNTZs2xZQpU7BixQr06NEDffr0QYcOHTBlyhTVtNEWMTAqwM2bNy2+pABIf+fn58tRUq1p0aIFHB0dy0wvr80uLi423V4hBFavXo2ff/4ZCxcuVGUb9+3bh4MHD8Le3h6zZs1SRRtNJhNiYmLw2GOP4e6777aYp4b2mWVlZaFr164YMmQI9uzZg88//xyXLl1CTEyMatqp1Wpx9uxZXLp0CTt37sRXX32F9PR0zJ8/XzVtNDOZTHjnnXcwY8YM6QedWtpoMpng4uKCF198EX/88Qe++eYbXLhwAXFxcappoy1iYFQANzc3FBQUWEwz/924cWM5Sqpzrq6u0kUTZoWFhTbbXp1Oh1mzZmH37t349NNP0aVLF9W1Ebj1wdyqVSvExMTg0KFDqmjje++9B2dnZ0yaNKnMPDW0z0yj0WDz5s2IjIyEq6sr2rRpg5iYGBw8eBBCCFW009nZGQCwcOFCuLu7Q6PRYPbs2Thw4IBq2mh27NgxXL9+HZGRkdI0tWyv33//Pfbu3YsJEybA2dkZ3t7eePrpp7FlyxbVtNEWMTAqgLe3N3JycpCRkSFNu3DhAlq3bo0mTZrIWFnd8fHxQXJyssW08+fPw9vbW6aKqi8lJQURERHQ6XTYvn07unTpAkA9bTxx4gQeeOAB6QpFANDr9XByckLnzp1tvo1ff/01EhISEBgYiMDAQHzzzTf45ptvEBgYqJp1CNy6mn/lypXSOWHArfVob28PX19fVbSzc+fOMJlMKC4ulqaZTCYAwD333KOKNprt3bsXgwYNgpubmzRNLdvr1atXLT5vAMDR0RFOTk6qaaMtYmBUgA4dOiAgIADLli2DTqdDamoq1q1bZ/HLUW0GDRqEjIwMbNq0CcXFxTh69Ch2796NiIgIuUurEq1Wi//+97/o1asXNmzYgGbNmknz1NLGLl26oLCwEKtWrYJer8eVK1ewYsUKREZGYsiQITbfxu+++w4nTpzA8ePHcfz4cQwfPhzDhw/H8ePHVbMOAcDLywubN2/G+vXrYTAYkJaWhjfeeAMPP/ywKtYjANx///1o164dXnjhBdy8eRNZWVlYvXo1Bg4ciOHDh6uijWa///47evfubTFNLdtraGgobty4gXfffRdGoxGpqal45513MGLECNW00SbJeYk2/Z8bN26ImTNniqCgIHHvvfeK2NhYYTAY5C6rVpUcVkcIIU6dOiXGjRsn/P39xYABA8SOHTtkrK56PvzwQ+Hj4yN69uwp/Pz8LP4JoY42CiFEcnKyeOyxx0RgYKDo16+fePPNN0VRUZEQQj1tNJs/f740rI4Q6mrfsWPHpLbce++94tVXXxWFhYVCCPW089q1a2L27NkiJCREBAYGiueee05otVohhHraKIQQfn5+Yv/+/WWmq6WNv/76qxgzZowICAgQffv2VfVnjq2wE6LE8QkiIiIiolJ4SJqIiIiIrGJgJCIiIiKrGBiJiIiIyCoGRiIiIiKyioGRiIiIiKxiYCQiIiIiqxgYiYiIiMiqBhEYzSPFU+Vcv37dJm7kfunSJblLoCqwlf0wLy8PWVlZcpdBpFq2vI9dvnxZ7hJkU6PAGB8fj0mTJtW4iEmTJqF79+7w9/eHn58f/P39MWbMGCQkJNR42QAwZ84cfPXVV9V+/hNPPIF33323Uo+Nj4/HggULqv1aVdG/f3/06NED/v7+0nsXGhqKFStWSPdPraqMjAwMGTKk1nbmLl264NixY7WyrJJ++uknPP7449V+/q5duzBs2LBKPfbff/+V7g9dXyIjI9GjRw/cuHHDYvqxY8cqXUtt7Z+1pab7YUkLFiyos/1s0KBBZe5VWxX+/v44fvx4pR47adIkfPnll9V+raq4evUqYmJicP/998PPzw/9+vXDq6++itzc3Eo9/8svv0T//v1vO/+ll17CSy+9VFvl2qz+/ftXep3W1udj//79peXk5+fj8ccfR8+ePfHoo4/WyrJLfs+U/FfZ7by0kvtYRdtVVVXlM7KqVqxYgXfeeadOlm0LHOUuwGz69OmYOXMmAKC4uBjr16/HU089hf3796NJkyY1WnZ2dnaNnr9+/foaPb8uvfLKKxg9erT099mzZzFlyhS4urpi1qxZVV5eYWGhTfQu5uTkoCY3KRo5ciRGjhxZixXVnpMnT+LatWsIDw/Hp59+ijlz5shdUq2o6X5YX2paZ2JiYi1VUntMJhOmTp2KkJAQfPfdd/Dw8EBqaipeeOEFzJo1C5s2barxayxZsqTmhVKN/f333/jll19w7NgxeHl51coyS3/P1JStfBaUZqt115Yq9TCeOHECERER8PPzwyOPPIJ///23TopycnLCpEmToNPp8M8//wAAdDodFi1ahMGDB8PPzw9hYWEWvX5ZWVmYN28eevfujeDgYMyZMwdarRYLFy7E8ePH8d5772HGjBkAgJSUFMyYMQPBwcHo168fVq9eDb1eD+DWr53Ro0dj6tSpCAwMxO7duzFp0iTEx8dXqo6Sjh07hvDwcKxZswbBwcEIDg7G0qVLpdeqC126dEHv3r3x119/AbjVg7FgwQL069cPffv2hU6nw9mzZzFt2jQEBQUhPDwcL7/8MvLy8mA0GjF8+HAAwPDhw7Fnzx4AwLfffosRI0YgICAAo0ePxi+//CK9XmFhIV5//XX06dMHvXv3xqRJk3Dq1CmLmn755Rc8+OCDCA4OxqxZsyx6zbZv347Ro0cjODgY/v7+mD59ukXv5kcffYRBgwbB398fo0ePxpEjR3Ds2DEsXrwYaWlp8Pf3R3p6OvR6PdasWYMBAwYgKCgI06ZNszh00KVLF7z22msIDg7GjBkzyvyqraiOkm63rdWWTz/9FA888AAmTJiAzz//HAUFBeU+ztzz+cknnyAkJAQBAQGIiYmBTqeTHnPz5k0sWrQIoaGhCA4OxurVq6V56enpmD17Nvr374+ePXtiwIAB2L59uzS/S5cuWL9+Pfr27Su9J+np6QDK30+sbQtV3Q8B4IcffsDo0aPRq1cvDBkyBJs2bbLoOc/KysJTTz2F3r17Y9SoUTh48KA078KFC5g+fTr69u0LX19fDB06FD///LM0/88//8SkSZPg7++P0NBQrFmzBkIIDBkyBAAwbdo0fPDBBwCAw4cPIzIyEoGBgRg2bBh27dolLWfBggWYNWsWHnzwQdx7771ISUmx6DWqqI7SvvjiCwwbNgy9evXCiBEjLF6rJrKzs3Hx4kUMGzYMHh4eAIB27dph0aJFaNOmDYxGIwDr6xwADAYDVq5cib59+6JXr15YtGgRDAaD9F6Ye33j4+Mxa9YszJs3D4GBgQgPD8eqVauk5RQWFmLx4sUICgpCnz598NZbb1n0kl25cgWzZ8/Gfffdh5CQEMydOxfXr18HcOtztX///li/fr203b/55pv48ccfMWTIEPj7+2PmzJnStlTRZ5R5HzI/95FHHsHZs2el+dY+G4QQePfddxEaGorAwECsWLFCei+BivexknQ6HZYsWYI+ffrgvvvuw5w5c5CRkSHNj4+PR58+fRAUFISIiAj8+OOPZZbxww8/4LHHHgMA9OvXD1988YWVraL29O/fHy+99BJCQkIwatQoTJ06FS+++KLFY6ZPn441a9aUu49VtF2V3sesbR9m77//Pvr06YPw8HC88cYb0vag1+uxYsUKPPjgg/D398d9992HV199VeqAyM/Px5IlS3DfffchMDAQ06ZNw5UrV7B27Vrs3r0bu3fvljobMjIyMG/ePISEhCA0NBQvvfSS9Pl77Ngx9OnTB3PnzkVgYCDef//9aueYil4LqPg7zNr3eKVV9qbTWVlZIjAwULz33ntCr9eL48ePi169eomJEyfW+IbWEydOFHFxcdLfRUVFYuPGjWLgwIHSzcYXL14s/vvf/wqtVitMJpP47rvvhI+Pj7h06ZK0jOnTp4usrCyRl5cnpk6dKubMmVNm+Tdv3hT9+vUTK1euFIWFhSItLU1ERkaKlStXCiGE2LFjh/Dx8RFffvmlKCoqEgUFBRbPr6iOuLg4MX/+fCGEEEePHhU+Pj4iOjpa5OXliX/++UcMHDhQrF69usbvmRBC9OvXz+Km63q9Xhw9elT07t1bfPzxx1Lbw8LCxLVr14RWqxVZWVkiKChIxMbGioKCAnH9+nUxefJkMWPGDCGEEKmpqcLHx0ekpqYKIYTYv3+/CAgIEAkJCcJgMIiffvpJ+Pn5iXPnzgkhhJg/f74YMWKEuHTpkigqKhKbNm0S/v7+4sqVK0IIIXx8fMSIESPEv//+K/Ly8sSMGTPE5MmThRBCnDx5UvTs2VOcPHlSCCHE1atXxeDBg6X3Z8eOHSIoKEicOHFCGI1GsW3bNtGzZ0+RnZ0tduzYIfr16ye1PTY2VowaNUqkpKSIwsJCER8fL/r37y8KCwulOqZNmyby8/OFVqu1eH5FdZjfEzNr21pNZWRkiB49eojz588Lk8kkHnzwQfHJJ59I883bVMm6Jk6cKDIzM8X169fFmDFjxLx584QQt7bFLl26iK+++kqYTCZx5MgR0aVLF3HixAkhhBBPPPGEmDdvnsjPzxcGg0F8+OGHwtfXV+h0Ouk9GzZsmEhJSRG5ublixowZYvz48dK6Kb2fVLQtVGU/PHLkiOjWrZv49ttvRXFxsTh9+rQIDw8XGzduFELc2u7uuecesXfvXlFcXCx27twpunXrJi5fviyEEOLBBx8UK1euFHq9XhQVFYmlS5eK8PBwIYQQ2dnZIigoSMTHx4uioiJx+fJlER4eLrZs2SK1++jRo0IIIf7++2/h6+sr9u7dKwwGg/j9999FcHCwOHjwoFSHn5+fOHv2rNBqtWWeb60O83ti3od37NghevXqJQ4fPiwMBoM4fPiw6NWrl9i3b19NNyshhBCTJ08W999/v1i+fLn4/vvvxfXr18s8pjLr/L333hPFxcUiOTlZ9OzZU+zevVt6L8yffeZtb+fOncJgMIj9+/eLLl26iMTERCGEEC+++KJ4+OGHRVpamtDpdCImJkZ63/R6vRg8eLB49tlnRW5urtBqteLZZ58VDz/8sCguLpb2gWXLlgm9Xi/2798vfHx8xGOPPSZycnJESkqK6N27t9i5c6dUV0WfUePGjRPXr18Xubm5YsqUKWLq1KlCiIo/G7744gtx7733itOnT4uioiKxatUq4ePjI63Tyuxj5m1l5syZYurUqSIjI0PodDqxaNEiMW7cOGnfDQkJEenp6cJkMoktW7aI4OBgodfrhRC3vgvMyyn5GVEbSn/P3O4xDz30kNBqtUKr1Ypvv/1WBAYGSt/fN27cEN26dRMpKSll2l2Z7arkPlbZ7WPu3LlCp9OJS5cuiYEDB4q3335bCCHE+++/L4YNGybS09OFEEKcOHFCdO3aVRw+fFh6vcjISJGWliaKiorEggULxNixY6V55m3caDSKMWPGiJiYGJGXlyeysrLE9OnTpe8Ccx1vv/220Ov1Ii8vr9o5pqLXqmg7reh7vLIqHRi//PJLERYWJkwmkzRt6dKltRYYu3fvLgICAkRAQIC4++67RZcuXSy+KDMyMkR2drYwGo0iLS1N/Pzzz8LHx0ckJCSIf//9V/j4+IiLFy9Kj79+/br0ZpT8ovr2229FSEiIRTsOHTok/P39hRC3Nt5u3boJo9FoUZ/5+dbqEKJsYOzSpYvIysqSlvX5559bBJ2a6Nevn/D19ZXet4CAADFs2DCxbt06qX0TJ04UCxculJ7zxRdfiJCQEGEwGKRpycnJwsfHR1y/fr1MYHziiSekL3GzZ599VixZskQUFhaKbt26if3791vMj4iIEO+9954Q4tYHw/fffy/Nu3jxovDx8RHXrl0TBQUF0uvk5OSIkydPikceeUQsWLBAqn3VqlUWy/79999FQUGBReAzmUzCz89P+hI3TwsLCxPfffedVMfXX38tzS/5/IrqKBkYK9rWamrt2rXi8ccfl/7+7LPPxIABA6TtsbzA+Oeff0qPP3TokOjevbsoKioScXFxYvjw4RbLDwkJEV999ZUQQohr166JvLw8UVxcLFJSUsTWrVuFj4+PxRdpybBiXnepqall9pPKbAtV2Q9jYmLErFmzLJb16aefiiFDhgghbn1wR0VFWcwfN26ceOedd4QQQqSkpIiioiJRVFQkLl68KOLj40WXLl2EEOV/ll24cEFcvXpVarf5y2zx4sVlfgysWrVKTJ8+XapjypQpFvNLPt9aHeb3xPxlPGHCBLFixQqLZa1YsUIKLzVVVFQkPv30U/Hf//5X9OzZU/j4+IiRI0da7DcVrfNevXpZvG/jxo0Ta9euld6LkoHRvK7MQkNDxc6dO4Verxc9e/a0eN28vDxxzz33iKNHj4rDhw+Le+65R+Tl5ZWZn5iYKO0DmZmZQgghDAZDmbonTJgg4uPjK/0Z9c0330jztm7dKvr37y+EqPizYeLEieLNN9+UnmswGERwcLC0Tiuzjx09elRkZGQIHx8fceHCBWlZ+fn5omvXriIpKUmcOHFCdO/eXcTHx4vTp08Lg8FgsR7qOjCW/p4JCAiw+Gzp16+fWLdunfR3UVGRCAoKEv/73/+EEEJ8+OGHFlmhdGCsaLsquY9VZvvo0qWL9ANOiFvfu4MHDxZC3FqPN27cECaTSaSnp4vDhw9LPzCKiopE9+7dxaFDh6TnarVacerUKakW8zZ+8uRJ0bVrVyn8C/F/+0tWVpa0Hq5duybNr26Oqei1KtpOrX2PV0Wlz2FMT0/HHXfcATs7O2la+/bt8ffff1e9W7McTz75pHQOo9FoxC+//IK5c+cCACZOnIjMzEwsXboUf/31F+688050794dwK1zc8yHONu2bSstr0WLFmjRokWZ17ly5QqysrLQu3dvaZoQAsXFxcjMzJSea29f/tF6a3WUx9PTE02bNpX+vuOOO8p0ndfE4sWLKzy3pGXLltL/MzMz0aZNGzg4OEjT7rzzTgC33huNRmPx3CtXriAhIQFbtmyRphmNRtx7773QarUoLi6Wnl9yeSVPVyg5v02bNgBubU9NmzbFxx9/jN27d8PNzQ1dunSBTqeTDg3cuHFDerxZr169yrQvKysL+fn5iI6OtlhvxcXFuHLlSrnvQ0n29vZW6yipKttaVRkMBnz++efIzc1FcHAwgFvbVW5uLr7//nvpUE5p//nPf6T/33HHHdDr9cjJyQGAMucwOTs7S4fMUlNT8frrr+PSpUvo0KGDtJyS23LJZZvXhfk9KLmfVHZbMKtoP8zMzMQ999xTZlkl12fp17rjjjukw6dnzpxBVFQUbty4gU6dOqFZs2YW21Xpz7K77rqrTI3mOo8ePYrAwEBpmtFoRPv27aW/b7ddVVRHaRkZGWjXrl2ZNv/000+3XX5VODs749FHH8Wjjz4Ko9GIM2fO4LPPPsOMGTOwe/du6T2wts49PT0t3jcnJyeLQ7Alld4nnJycYDKZkJOTg4KCAot9yN3dXfqczMzMRNOmTeHu7m4x38vLy+Izyvx482eZ+VA7cGufFkJUerss+bnn6OgoraOKPhuuX7+OO+64Q3qug4ODxWdWZfYxANJ2PXbsWIvpDg4O+Pfff/HAAw8gPj4en3zyCdavXw8XFxdMmjQJTz311G2/q2pTVb9nnJ2dMXz4cHz99dd44IEHsHPnTkydOvW2z61ouyr9HVbR9uHh4WGxPZT8bCgoKMCSJUvw22+/oXXr1ujatSuEEDCZTNBqtdDr9Rbr0MPDAz169ChT87///guj0Yg+ffpYTHd2drYYDaJ07dXJMXv27LH6WnfffbfV7dTa93hVVDowtm7dGleuXIHJZJI20GvXrlXpxSrLwcFBOo/jwIEDmDhxIqKjo9G/f39s2LABjo6OyM7OxrZt2wBA2mHT0tLQoUMHAMD58+fxzTffYPbs2WXa0b59e3z33XfSNJ1Oh8zMTDRr1gwALDbc0qzVUZ68vDwUFBTA1dUVwK2NrHQIqmsl29O2bVukpaXBaDRKH7QpKSkAbm2cpb/MWrdujVGjRuHJJ5+UpqWlpcHFxQVeXl5o1KgRUlNT0alTJ2l+SkqKxfmB169fx9133w0A0o505513YtOmTfj111+xe/du6QPbfH4bcGu9Xr161aKe1atXl7lYpWnTpmjUqBE+/PBD+Pn5SdMvXryIVq1alfs+lFRRHSVVZVurqu+//x56vR7ffvutRaBfs2YNNm7ceNvAmJ6eLn3Z//vvv3B1dbX4kVKe4uJiTJ8+Hc8++ywmTJgAOzs7nD59usw5c+np6fDx8ZGWDdwKEf/884/F+6nRaCq1LZhVtB+2bdtW2i7NUlNTLUJI6R9eqamp6NatG9LT0xEdHY23335beu29e/di37590mtfvXoVQgipDT/88AN0Oh1GjRpVps6HH37Y4oKO69evW+wnt9uuKqqjtDvvvLPCNlfXtm3b8Pbbb+Pnn3+Gg4MDHBwc0K1bNyxduhQ//PADzp07J21D1tZ5bWjevDlcXFyQlpYmvWZ+fr50QUHbtm2RnZ0NnU4nhYK8vDxkZ2dbfEZZ+5w2q+p2WVpFnw2tW7e2CAdCCGm7rOw+BkD6nPrf//5nsb7Pnz+Pdu3aIS0tDc2bN8eGDRug1+tx5MgRPPPMM+jWrRv69u1bYTvqQ+n1ERERgbFjxyIxMRH//vvvbT+/qrrsymwfOp0O+fn5cHNzA3BrPzIHsUWLFsHT0xO//PILGjVqBJPJJP1wbd68OZydnXH16lVp28zMzMQHH3xQbpZwcXHBsWPHpM9rvV6P1NRU/Oc//8Hvv/9epvbq5pjw8HCrr/Xhhx9WuJ3e7nu8Kir906R///4QQiA+Ph56vR6nT5+u0xNqT548iWPHjkkrMi8vDy4uLnBwcEBWVhZee+01ALd2ylatWiEkJASvv/46cnNzodPp8MYbb0g7srOzM/Ly8gDcOhH45s2bWL9+PfR6PXJzczF//nzMmTOnUh9A1uooj9FoxIoVK1BUVISLFy9iw4YNiIyMrPH7U13mXygrV65EYWEhbty4gaVLl+Lee+9F27Zt0ahRIwCQTqYdO3YsPv74Y+kk8aSkJIwePRrffPMN7O3tERERgTfffBOXL1+GXq/HRx99hPPnz1sMWRMfH4/09HRotVrExsZi8ODBaNasGXQ6HRwdHeHk5ASDwYCvv/4ahw4dkt7L0aNHY+vWrTh16hRMJhN27NiBzZs3SwGxoKAABoMB9vb2iIyMxKpVq3Dt2jWYTCbs3LkTw4cPr9SYWRXVUVJF21pNfPrppxgxYgTatm2L1q1bS/8mTZqExMREnDhxotznrVq1CjqdDunp6YiLi8NDDz0EJycnq69VXFyMwsJCuLi4wM7ODmlpaXjjjTekeWZr167FjRs3kJubixUrViAsLMwihJtVZluoyn4YERGBn376Cf/73/9gNBrx119/4YMPPkBERIT0mj/++CMOHDiA4uJibNu2DRcuXMCIESNw8+ZNGI1G6Ufa+fPnsXbtWgC3PmT79u0Lg8GAd999F3q9HikpKVi2bBmKiorK1BkZGYlvvvkGv/zyC0wmEy5duoSJEyfiww8/rHB9VlRHaZGRkdi6dSuOHDkCo9GIo0ePYuvWrRZtrq6+ffuiqKgIixcvxqVLl2A0GpGTk4ONGzcCAIKCgqTHVnadV5d5fzV/LhQUFGD58uVSj1KPHj3QuXNnLF68GHl5ecjLy8PLL7+M9u3bl3uEoaLXqsxn1O1U9NkwZswYbNu2DYmJiSguLsY777wj9RRVdh8Dbn2u9O3bF0uXLkV2dra0rMjISOTm5iIpKQlPPPEEzpw5A2dnZzRv3hwAKvxhKKeuXbuic+fOWLJkCYYOHSrtB4DlPlZVldk+jEYjYmNjkZ+fjwsXLmDDhg145JFHANxap40aNYK9vT10Oh1ef/116HQ6FBcXw97eHqNGjZK2zaKiIrz11lv4448/4OLiYlG3r68v/vOf/yA2NhY3b95EYWEhli1bhilTpty21726Oaai16poO7X2PV4VlQ6MHh4e2LBhA44cOYKgoCAsXLiwRr8YSnvvvfcsxneaO3cuJk+ejGnTpgEAli9fjj179qBXr14YPXo0WrVqha5du+LcuXMAbgUgd3d3PPjggxgwYACaNWuGV155BQAwatQo7NixAxMmTIC7uzs2bdokXcE8cOBA2NvbV3pspYrqKI+npycGDBiAyZMn4+GHH8YTTzxRw3er+po0aYKNGzfi3Llz6NOnD4YPH462bdtizZo1AG79Ih80aBDGjRuHLVu24IEHHsCzzz6LF154Ab169UJ0dDSmTJkije/33HPPITQ0FFOmTEFwcDD+97//YcOGDejYsaP0mmFhYRg7diwGDx4MjUaDpUuXAgCmTp2KO+64A/369UNYWBh27dqFCRMmSO/liBEjMHPmTMTExCAwMBBbt27FBx98gGbNmqF3795o3rw5evfujbNnz2L+/Pno2bMnJkyYgMDAQGzatAlxcXHo2rVrhe9JRXWUZm1bq64zZ87g+PHj5R726dq1K7p3737bkNK+fXsMHz4cI0eOhL+/P1544YUKX8/NzQ3Lli3D2rVr4e/vj8mTJyMkJAQajcai3d26dcOECRPQv39/eHh4YOXKlbddZkXbQlX2w549e2LNmjX44IMPEBgYiGeeeQbjx4+3+NU8YMAAfPDBBwgKCsK2bduwYcMGtGrVCnfddReee+45xMTEICAgANHR0YiIiICTkxPOnTtn8VkWGhqKSZMm4ZFHHsG4ceMAAOPGjcPcuXOxevVq9OzZE2+++SbefPNN9O7dGxMnTkT//v2l02WsqaiO0h588EE8//zzeO211xAYGIiXX34Zzz33XJlez+po2bKldMW9+erwIUOGIDExEZ999pl0dAWo2jqvrrlz5+Kuu+7C0KFDMWTIELRu3Rr29vZwcnKCo6Mj3nvvPRgMBgwZMgT9+vVDcXExNm7cCEfHqo8EV5nPqNup6LNh+PDhmDVrFubMmYOgoCCkpqZKYwBWdh8ze/311+Hh4YFRo0bh3nvvxYEDB7B+/Xq0aNECQ4YMwdSpU/HUU0/Bz88P0dHReOGFF9CzZ88qvx/VsXjx4nLHYTRf5Xw7o0ePxl9//VXmR0/JfayqKrN9eHl5wcvLC3369MHjjz+OsWPHSmNSLlq0CGfOnEFQUBAeeOAB6HQ6hIWFSetkwYIF6N69O8aMGYOwsDBkZ2dL349Dhw7FiRMn0LdvX6mOjIwMDB48GKGhoUhJScHGjRuljpfSqptjKnqtirbTir7HK61KZzxShcq7SppsW+mrpJWi9AVKta3kielUN0pe9KIE9bXOExISLC5KyMvLEz4+PuKff/6p89dWo5IXvSjJDz/8IB544AG5y6BaopiBu4mIqGH48MMP4eHhgVdeeQV2dnaIi4tDx44dpXO3yLZlZ2fj2rVreOeddzB+/Hi5y6FaUuPAuHHjRsTFxd12fvfu3XH69Onbzn/llVcUe8eNuvT000/j8OHDt51f8oTd8nz77bf1fvEM3V5mZiYGDhx42/klLzIqT0BAgKLvKETyGj169G0vOjGZTNDr9VZPYFfa3WdefvllvPLKK+jTpw+MRiMCAgLw/vvvy12W6sj1PXP69Gk888wzuP/++6VzB8n22QlRg/urEREREZHq1f0ATkRERERk0xgYiYiIiMgqBkYiIiIisoqBkYiIiIisYmAkIiIiIqsYGImIiIjIKgZGIiIiIrKKgZGIiIiIrGJgJCIiIiKr/h/MWpZ0Q6dLOgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae', y='median_mmNorm', data=sig_families_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "77455b1e-38ed-40a8-b346-9037b265c01c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAowAAAGtCAYAAACcKyXYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABY6ElEQVR4nO3de3wM5/4H8E8SuYokWKSUQ0m0LpEQSdtc3ClFVYJSHLRKc+pSqrSoVoso6kjQC0pbqlpKUadXdatLqoJwXIKSVAibyCYrl002z+8Pv52TzWVzz8xOPu/Xq6/KzOzs99md2f3szDzP2AghBIiIiIiISmArdwFEREREpGwMjERERERkEQMjEREREVnEwEhEREREFjEwEhEREZFFDIxEREREZBEDIxERERFZxMBIRERERBbVkbsAa5Sfn4+8vDzY2trCxsZG7nKIiIioDIQQyM/PR506dWBry2Nm5cHAWAF5eXmIi4uTuwwiIiKqgI4dO8LBwUHuMqwKA2MFmH6VdOzYEXZ2dlW6bqPRiLi4uGpZt1KwjerANqoD26gObGP51sGji+XHwFgBptPQdnZ21bZjVue6lYJtVAe2UR3YRnVgG8uGl5OVHyM2EREREVnEwEhEREREFjEwEhEREZFFDIxEREREZBEDIxERERFZxMBIRERERBYxMBIRERGRRQyMRERERGQRAyMRERERWcTASEREREQW8daARERkRpdpgFZvQHp2Ltyc7aGp6wB3Fwe5yyIiGTEwEhGRJCktC7N3nMXheK00LdRLg8gwHzT1cJaxMiKSE09JExERgAdHFguHRQA4FK/FnB1nocs0yFQZEcmNgZGIiAAAWr2hSFg0ORSvhVbPwEhUWzEwEhERACA9O9fi/IxS5hORejEwEhERAMDNyd7i/HqlzCci9WJgJCIiAIDG1QGhXppi54V6aaBxZU9potqKgZGIiAAA7i4OiAzzKRIaQ700WBrmw6F1iGoxDqtDRESSph7OiB7pB63egIzsXNRzsofGleMwEtV2DIxERGTG3YUBkYjM8ZQ0EREREVnEwEhEREREFjEwEhEREZFFDIxEREREZBEDIxERERFZxMBIRERERBYxMBIRERGRRQyMRERERGQRAyMRERERWcTASEREREQW8daARERWSJdpgFZvQHp2Ltyc7aGpy9v5EVH1YWAkIrIySWlZmL3j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ER4eXmRZf39/fPXVV/jjjz+Qn5+P/fv3Y9++fRg2bFhVN4WIiIjI6ikmMObk5GDLli3o06cPpk6dilatWmHnzp3luvNLVFQU8vLy0KtXLwwfPhwhISGIiIgAAPj5+WH37t0AgN69e2PevHmYN28eunbtijVr1iA6OhqdO3eulrYRERERWTPZT0mnpKTg888/x1dffYVGjRrhhRdewAcffIBp06aZ9XguC41GU+Lp69jYWLO/w8PDiz36SERERETmZD/C2LNnT1y7dg0rV67E3r178dxzz5kN5k1ERERE8pL9CKOXlxdiY2Ph6emJpk2bomXLlnKXREREREQFyB4Yt2/fjrNnz2Lz5s0YMmQIAgICkJOTU2V3gCEiIiKiylHEuV8fHx+8//772L9/P3x9feHm5oahQ4ciMjISly5dkrs8IiIiolpN9sC4d+9e6d8NGjRAREQE9u/fj/nz5+PcuXMYMmSIfMURERERkfyB8a233ioyzc7ODv3798fmzZuxa9eumi+KiIiIiCSyB8bSrlVs27ZtDVVCRERERMWRPTDa2NjIXQIRERERWSB7L+nMzEw89thjFpe5cOFCDVVDRERERIXJHhgdHR2xbt06ucsgIiIiohLIHhjt7OwQEBAgdxlEREREVALZr2HkAN1EREREyiZ7YJw8ebLcJRARERGRBbKfkp40aRIA4P79+4iNjUVaWhoaNmyITp06wcXFRebqiIiIiEj2wAgA69evx+rVq5GdnS1Nq1u3LmbMmIHnn39exsqIiIiISPbA+M033+Cjjz7C3Llz0b17d9SvXx8pKSnYv38/Vq5cCY1Gg379+sldJhEREVGtJXtg/PLLL7FkyRL06dNHmtakSROMHDkS7u7u+OKLLxgYiYiIiGQke6eX69evo0ePHsXO6927N65du1bDFRERERFRQbIHRhsbG9SpU/yBTgcHB7PrGomIiIio5skeGImIiIhI2WS/hjEvLw+7du0qcb7RaKy5YoiIiIioCNkDo0ajQVRUVInzGzZsWIPVEBEREVFhsgfG/fv3l3nZ27dvw9PTsxqrISIiIqLCrOoaxgEDBshdAhEREVGtY1WBUQghdwlEREREtY5VBUYbGxu5SyAiIiKqdawqMBIRERFRzWNgJCIiIiKLGBiJiIiIyCIGRiIiIiKySPZxGMvDwcFB7hLIyugyDdDqDUjP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o/DVV18hKyur2OVMRz6/+OILBAUFoUuXLpg1axb0er20zP379zFv3jwEBwcjMDAQK1eulOYlJydj+vTp6NmzJzp16oRevXph+/bt0vy2bdti/fr16N69u/SaJCcnAyh+P7G0LZR3PwSAX375BUOHDkXnzp3Rr18/bNq0yezIeWpqKl5++WV07doVQ4YMwaFDh6R5V69exaRJk9C9e3f4+PhgwIAB+O2336T558+fx5gxY+Dn54fg4GCsWrUKQgj069cPADBx4kSsW7cOAHD06FGEh4fD398fTz/9NHbv3i2tZ86cOZg6dSr69++Pxx9/HAkJCWZHjUqro7BvvvkGTz/9NDp37oxBgwaZPVdl3Lt3D9euXcPTTz8NNzc3AEDz5s0xb948NG3aFEajEYDl9xwA8vLysHz5cnTv3h2dO3fGvHnzkJeXJ70WpqO+0dHRmDp1Kl577TX4+/sjNDQUK1askNaTnZ2NBQsWICAgAN26dcO///1vs6NkN2/exPTp0/HEE08gKCgIM2fOxJ07dwA8+Fzt2bMn1q9fL233H3zwAX799Vf069cPfn5+mDJlirQtlfYZZdqHTI997rnncOnSJWm+pc8GIQQ++ugjBAcHw9/fH0uXLpVeS6D0fawgvV6PhQsXolu3bnjiiSfw6quvQqvVSvOjo6PRrVs3BAQEICwsDL/++muRdfzyyy8YP348AKBHjx745ptvLGwVVadnz5546623EBQUhCFDhmDChAmYP3++2TKTJk3CqlWrit3HStuuCu9jlrYPk08++QTdunVDaGgoli1bJm0PBoMBS5cuRf/+/eHn54cnnngC7777rnQAIjMzEwsXLsQTTzwBf39/TJw4ETdv3sSaNWuwZ88e7NmzRzrYoNVq8dprryEoKAjBwcF46623pM/fEydOoFu3bpg5cyb8/f3xySefVDjHlPZcQOnfYZa+x8usrDedTk1NFf7+/uLjjz8WBoNBnDx5UnTu3FmMHj260je0Hj16tIiKipL+zsnJERs3bhS9e/eWbja+YMEC8c9//lPodDqRn58vfvjhB+Ht7S2uX78urWPSpEkiNTVVZGRkiAkTJohXX321yPrv378vevToIZYvXy6ys7NFUlKSCA8PF8uXLxdCCLFjxw7h7e0tvv32W5GTkyOysrLMHl9aHVFRUWL27NlCCCGOHz8uvL29xbRp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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae', y='median_mmNorm_DTAPHib', data=sig_families_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "fcb97940-e98a-44e3-aebd-c50a7eb26943",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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idmzZ6Np06Zo0aJFidcZGRlZPsVX8rKVgm1UB7ZRHdhGdWAbqaKoJjA6OTkhKyvLZJrx7+rVq5tM/+ijj9CxY0e0b98eADB48GDs2rUL27dvx6xZs0q8znbt2sHGxqaMlZsyGAyIjIyskGUrBduoDmyjOrCN6sA2lm4ZVHqqCYzNmzdHSkoKEhIS4O7uDgC4evUq6tWrhxo1apg8Ni4uDm3btjWZZmtrCzs7u1Kt08bGpsJ2zIpctlKwjerANqoD26gObCNVFNVc9NK4cWN4eXlh/vz50Gq1iI2NxcqVKxESElLoscHBwdiwYQMuXLiAvLw87NmzBydPnkSfPn1kqJyIiIhI2VTTwwgA4eHhmDt3Lrp27Qpra2sMHDgQoaGhAACNRoMPP/wQAwYMwMSJE2FjY4NJkyYhNTUVTz75JFasWIFWrVrJ3AIiIiIi5VFVYHR3d0d4eHiR8yIiIqT/29raYtKkSZg0aVJllUZERERksVRzSJqIiIiIKgYDIxERERGZxcBIRERERGYxMBIRERGRWQyMRERERGQWAyMRERERmcXASERERERmMTASERERkVkMjERERERkFgMjEREREZnFwEhEREREZjEwEhEREZFZDIxEREREZBYDIxERERGZxcBIRERERGYxMBIRERGRWQyMRERERGQWAyMRERERmcXASERERERmMTASERERkVkMjERERERkFgMjEREREZnFwEhEREREZjEwEhEREZFZDIxEREREZBYDIxERERGZxcBIRERERGYxMBIRERGRWQyMRERERGQWAyMRERERmcXASERERERmMTASERERkVkMjERERERkFgMjEREREZnFwEhEREREZjEwEhEREZFZsgfG9evXIyMjQ+4yiIiIiOghZA+M69atQ6dOnTB//nzExsbKXQ4RERERFSB7YPzjjz+waNEiXLt2Db1798aECRNw/PhxucsiIiIiov8je2C0trZG165dsXr1avz222946qmn8Oabb6Jv37744YcfkJ2dLXeJRERERFWa7IExv4YNG+Ktt97CwYMHMWHCBOzbtw9BQUFyl0VERERUpSkqMBrdvn0bFy9eRHR0NBo0aCB3OURERERVmq3cBRjpdDrs2bMHP/74I/79919069YNS5YsgZeXl9ylEREREVVpsgfGK1euYMuWLdi5cydsbGwwdOhQLF68GHXr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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae', y='median_mmNorm_PCV', data=sig_families_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e01f99b0-f96c-41e5-9e46-45576c045a38",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApYAAAGtCAYAAACspzT5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTrklEQVR4nO3deVyVZf7/8TergIqouKRploI1uYAgVCiNuFUuuWVpZatZlGKmaVlpVoZpm5YzNaWOk2OLVpPpTM20aYuajaU1lUupBLkAiiDggcP1+8Mf5+sRBDzcchZez8ejR3Lf59znOp9z34c313Xf1+1njDECAAAAasnf3Q0AAACAbyBYAgAAwBIESwAAAFiCYAkAAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALBEoLsb4CvKyspUWloqf39/+fn5ubs5AACgBowxKisrU2BgoPz96W+rLYKlRUpLS7V9+3Z3NwMAALiga9euCg4OdnczvB7B0iLlf+V07dpVAQEBlmzTbrdr+/btlm6zPqBurqN2rqFurqFurqN2rqmsbuXL6K20BsHSIuXD3wEBAZYf5Gdjm/UBdXMdtXMNdXMNdXMdtXNNZXXjNDZrEM8BAABgCYIlAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFgCAADAEgRLAAAAWIJgCQAAAEsQLAEAAGAJgiUAAAAswS0dUS/lFdqUXWDT0eIShYcGKbJhsJqEBbu7WWfMV94HAMA3ECxR72QdKdL01du0YWe2Y1lyVKTSR3ZTm4hQN7bszPjK+wAA+A6GwlGv5BXaKoQxSVq/M1szVm9TXqHNTS07M77yPgAAvoVgiXolu8BWIYyVW78zW9kF3hHIfOV9AAB8C8ES9crR4pIq1+dXs95T+Mr7AAD4FoIl6pXwkKAq1zeuZr2n8JX3AQDwLQRL1CuRjYKVHBVZ6brkqEhFNvKOK6p95X0AAHwLwRL1SpOwYKWP7FYhlCVHRWreyG5eM1WPr7wPAIBvYboh1DttIkK1aEyssgtsyi8uUeOQIEU28r75H33lfQAAfAfBEvVSkzDfCGC+8j4AAL6BoXAAAABYgmAJAAAASxAsAQAAYAmCJQAAACxBsAQAAIAlCJYAAACwBMESAAAAliBYAgAAwBIESwAAAFiCYAkAAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFgCAADAEgRLAAAAWIJgCQAAAEsQLAEAAGAJgiUAAAAsQbAEAACAJQiWAAAAsATBEgAAAJYgWAIAAMASBEsAAABYgmAJAAAASxAsAQAAYAmfD5Y5OTlKTU1VfHy8EhMT9cQTT6i0tLTK5+zYsUPdu3fXpk2b6qiVAAAA3s/ng+XkyZMVFhamDRs2aNWqVfrqq6+0bNmy0z6+qKhI9913n4qLi+uukQAAAD7Ap4Pl3r17tXnzZk2bNk2hoaFq166dUlNTtWLFitM+59FHH1W/fv3qsJUAAAC+IdDdDTibdu7cqYiICLVq1cqxrGPHjsrKytLRo0cVHh7u9Ph3331Xe/fu1RNPPKHFixe79Jp2u71Wba5sW1Zusz6gbq6jdq6hbq6hbq6jdq6prG7U0Fo+HSyPHTum0NBQp2XlPxcWFjoFy927d+vZZ5/VypUrFRAQ4PJrbt++3eXn1uU26wPq5jpq5xrq5hrq5jpq5xrqdvb4dLAMCwtTUVGR07Lynxs2bOhYdvz4cd1777168MEH1aZNm1q9ZteuXWsVTE9mt9u1fft2S7dZH1A311E711A311A311E711RWt/JlsIZPB8uoqCgdOXJE2dnZioyMlHSiZ7J169Zq3Lix43Hbt2/Xnj17NHPmTM2cOdOx/M4779TVV1+t2bNn1/g1AwICLD/Iz8Y26wPq5jpq5xrq5hrq5jpq5xrqdvb4dLDs0KGD4uLiNHfuXM2ZM0eHDx/W4sWLNWrUKKfHxcfHa9u2bU7LOnfurD//+c9KTEysyyYDAAB4LZ++KlySFi5cqNLSUvXt21ejR49W7969lZqaKkmKjY3Ve++95+YWAgAA+Aaf7rGUpMjISC1cuLDSdVu3bj3t837++eez1SQAbpRXaFN2gU1Hi0sUHhqkyIbBahIW7O5mAYBP8PlgCQDlso4UafrqbdqwM9uxLDkqUukju6lNRGgVzwQA1ITPD4UDgHSip/LUUClJ63dma8bqbcortLmpZQDgOwiWAOqF7AJbhVBZbv3ObGUXECwBoLYIlgDqhaPFJVWuz69mPQCgegRLAPVCeEhQlesbV7MeAFA9giWAeiGyUbCSoyIrXZccFanIRlwZDgC1RbAEUC80CQtW+shuFcJlclSk5o3sxpRDAGABphsCUG+0iQjVojGxyi6wKb+4RI1DghTZiHksAcAqBEsA9UqTMIIkAJwtDIUDAADAEgRLAAAAWIJgCQAAAEsQLAEAAGAJgiUAAAAsQbAEAACAJQiWAAAAsATBEgAAAJYgWAIAAMASBEsAAABYgmAJAAAASxAsAQAAYAmCJQAAACxBsAQAAIAlCJYAAACwBMESAAAAliBYAgAAwBIESwAAAFiCYAkAAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFgCAADAEgRLAAAAWIJgCQAAAEsQLAEAAGAJgiUAAAAsQbAEAACAJQiWAAAAsATBEgAAAJYgWAIAAMASBEsAAABYgmAJAAAASxAsAQAAYAmCJQAAACxBsAQAAIAlCJYAAACwBMESAAAAliBYAgAAwBIESwAAAFiCYAkAAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALBEoLsbANRWXqFN2QU2HS0uUXhokJqFBcnfn7+ZAACoawRLeLWsI0WavnqbNuzMdixLjorUrKui3NgqAADqJ7p14LXyCm0VQqUkrd+Zrdlrd+hocambWgYAQP1EsITXyi6wVQiV5TbsylHOMVsdtwgAgPqNYAmvdbS4pMr1+fRYAgBQpwiW8FrhIUFVrm8cwinEAADUJYIlvFZko2AlR0VWuq53p+Zq3jC4jlsEAED9RrCE12oSFqz0kd0qhMvkqEjNHhStcHosAQCoUz7/mzcnJ0cPP/ywNm/erICAAA0dOlTTp09XYKDzWy8rK9OLL76oVatW6ejRozr33HN111136aqrrnJTy1ETbSJCtWhMrLILbMovLlHjkCA1axikPTv+J7Xs5u7mAQBQr/h8sJw8ebJatWqlDRs2KDs7W3fddZeWLVum22+/3elxK1as0Lvvvqu//e1vat++vT755BOlpqaqS5cuat++vZtaj5poEhasJmH/N+xtt9tVVlbmxhYBAFA/+fRQ+N69e7V582ZNmzZNoaGhateunVJTU7VixYoKj73++uu1Zs0atW/fXjabTbm5uQoNDVVISIgbWg4AAOB9fLrHcufOnYqIiFCrVq0cyzp27KisrCwdPXpU4eHhjuX+/v4KCwvT559/rvHjx8sYowceeEAtW7Z0R9MBAAC8jk8Hy2PHjik0NNRpWfnPhYWFTsGyXEJCgrZv366vv/5aqampatGixRmdZ2m322vX6Eq2ZeU26wPq5jpq5xrq5hrq5jpq55rK6kYNreXTwTIsLExFRUVOy8p/btiwYaXPCQ4+ca7epZdeqquvvlpr1qw5o2C5fft2F1tbt9usD6ib66ida6iba6ib66ida6jb2ePTwTIqKkpHjhxRdna2IiNPTEmze/dutW7dWo0bN3Z6bHp6uiRpxowZjmU2m00RERFn9Jpdu3ZVQEBA7Rr+/9ntdm3fvt3SbdYH1M111M411M011M111M41ldWtfBms4dPBskOHDoqLi9PcuXM1Z84cHT58WIsXL9aoUaMqPDY+Pl5Tp05V3759FRcXp08//VTr1q3TkiVLzug1AwICLD/Iz8Y26wPq5jpq5xrq5hrq5jpq5xrqdvZ4fLDcsmWLMjMzZYxxWj5s2LAaPX/hwoWaM2eO+vbtK39/fw0bNkypqamSpNjYWD366KMaOnSo+vXrp4ceekgPPfSQsrOz1aFDBy1atEg9evSw+i0BAAD4JI8OlrNmzdKqVavUsmVL+fn5OZb7+fnVOFhGRkZq4cKFla7bunWr08+jRo2qtDcTAAAA1fPoYLlu3Tq98cYb6tKli7ubAgAAgGp49ATpjRs3VnR0tLubAQAAgBrw6B7Lu+66SzNnztRtt91WYc7JNm3auKlVqG/yCm3KLrDpaHGJwkODFNnQ+RaSAADgBI8OlsePH9e6dev0/vvvO5YZY+Tn56cff/zRjS1DfZF1pEjTV2/Thp3ZjmXJUZFKH9lNbSJCq3gmAAD1j0cHy8WLF+uhhx5Sr1695O/v0aP28EF5hbYKoVKS1u/M1ozV27RoTCw9lwAAnMSjg6XdbteYMWPc3QzUU9kFtgqhstz6ndnKLrARLAEAOIlHdwOOGDFCy5cvd3czUE8dLS6pcn1+NesBAKhvPLrHctu2bVq6dKmef/55NWnSxGkuy48++siNLUN9EB4SVOX6xtWsBwCgvvHoYMmE5XCnyEbBSo6K1PpKhsOToyIV2YhhcAAATubRwfLDDz/U/Pnz1ahRI3c3BfVQk7BgpY/sphmrtzmFy+SoSM0b2Y3zKwEAOIVHB8utW7cqOJhf3nCfNhGhWjQmVtkFNuUXl6hxSJAiGzGPJQAAlfHoYDl48GBNmjRJQ4YMUYsWLZzOsezZs6cbW4b6pEkYQRIAgJrw6GD52muvSZI+/fRTp+VMkA4AAOB5PDpY/vTTT+5uAgAAAGrIo4OlJO3fv19r1qxRZmamWrZsqcGDB6t9+/bubhYAAABO4dETpG/fvl2DBg3Shx9+qLy8PH300UcaOnSovvnmG3c3DQAAAKfw6B7L+fPnKy0tTePGjXMs++tf/6oFCxZo5cqVbmwZAAAATuXRPZY///yzxo4d67Rs7Nix2rFjh5taBAAAgNPx6GAZGhqq33//3WnZ77//riZNmripRQAAADgdjw6WV111lSZOnKgNGzbo119/1WeffaZJkybpqquucnfTAAAAcAqPPscyLS1Nubm5Sk1NVUlJiRo0aKCRI0fqnnvucXfTAAAAcAqPDpYNGjRQenq65syZo7y8PEVGRjrdfQcAAACewyOD5ddff13p8j179jj+zS0dAQAAPItHBssbb7yx0uUn91ZyS0cAAADP4pHBsrJbOdpsNs2bN09vvPGGJk2a5IZWAQAAoCoeGSxPlZGRocmTJ+vw4cNavny5evTo4e4mAQAA4BQePd2QJH3wwQcaPny4WrRoobfffptQCQAA4KE8tseypKREc+fO1VtvvaUpU6bo1ltvdXeTAAAAUAWPDJYZGRlKS0tTXl6e/v73v6tbt27ubhIAAACq4ZHBctiwYSosLFRKSopWrlyplStXVnjMk08+6YaWAQAA4HQ8Mlj279+fidABAAC8jEcGy/T0dHc3AQAAAGfII4NluZKSEq1bt06ZmZkqKytzWsf9wgEAADyLRwfL++67T5s2bVJUVJTT0DjD5AAAAJ7Ho4Pl559/rvfee0/nnnuuu5sCAACAanj0BOktWrRQRESEu5sBAACAGvDoHsvp06crLS1NY8eOVXh4uNO6nj17uqlVAAAAqIxHB8vvvvtOX3zxhb744gun5X5+fvrxxx/d1CoAAABUxqOD5d///ne9/PLL6tWrl/z9PXrUHgAAoN7z6LTWoEEDJSUlESoBAAC8gEcntltuuUULFixQXl6eu5sCAACAanj0UPiKFSuUlZWlZcuWVVjHOZYAAACexaODJbd2BAAA8B4eHSwTEhLc3QQAAADUkEcHy88++0yPP/64MjMzZYxxWsdQOAAAgGfx6GA5Z84cDRgwQJdffjlXhgMAAHg4jw6WR44c0dSpUxUQEODupgAAAKAaHt0N2KdPH3322WfubgYAAABqwKN7LMeNG6exY8eqU6dOFe4Vvnz5cje1CgAAAJXx6GD5yCOPKDY2VvHx8QyHAwAAeDiPDpZ79+7V5s2bFRQU5O6mAAAAoBoefY7lRRddpIyMDHc3AwAAADXg0T2Wl156qcaNG6crrrhCERERTuvuuece9zQKAAAAlfLoYLl582adf/75+vnnn52W+/n5ualFAAAAOB2PDpZ/+9vfqn3Myy+/rDvuuKMOWgMAAICqePQ5ljXx5z//2d1NAAAAgHwgWJ56D3EAAAC4h9cHS863BAAA8AxeHywBAADgGQiWAAAAsATBEgAAAJbw+mDJxTsAAACeweuD5TXXXOPuJgAAAEAePkH6sWPH9Pe//1179uxRWVmZ07onn3xSkvTggw+6o2kAAAA4hUf3WD7wwANavny5jh8/7u6mAAAAoBoe3WO5adMmrVq1Su3atXN5Gzk5OXr44Ye1efNmBQQEaOjQoZo+fboCAyu+9ZUrV2rZsmU6ePCgWrZsqXHjxun666+vzVsAAACoNzw6WDZo0ECtWrWq1TYmT56sVq1aacOGDcrOztZdd92lZcuW6fbbb3d63H/+8x8988wz+stf/qLu3bvr22+/1R133KHIyEgNHDiwVm1A7eQV2pRdYNPR4hKFhwYpsmGwmoQFu7tZAADgFB49FD527Filp6crNzfXpefv3btXmzdv1rRp0xQaGqp27dopNTVVK1asqPDYAwcOaPz48YqJiZGfn59iY2OVmJior7/+urZvA7WQdaRI96zcqr7PfKbhi79U36c/08SVW5V1pMjdTQMAAKfw6B7LN998U1lZWVq5cmWFdT/++GO1z9+5c6ciIiKcej07duyorKwsHT16VOHh4Y7lpw555+Tk6Ouvv9YDDzxwRm222+1n9PiabMvKbXqTo8Wlmr56mzbszHZavn5ntmas3qbnr4tReEjFXbi+1602qJ1rqJtrqJvrqJ1rKqsbNbSWRwfL9PT0Wj3/2LFjCg0NdVpW/nNhYaFTsDzZoUOHNGHCBHXp0kWDBw8+o9fcvn27a42t4216g5CWHSqEynLrd2YrK7dAvxzcc9rn19e6WYHauYa6uYa6uY7auYa6nT0eHSwTEhIqXV7TofGwsDAVFTkPmZb/3LBhw0qf8+233yotLU3x8fF68sknK73Ipypdu3ZVQEDAGT3ndOx2u7Zv327pNr3JtsyjVa63GX/FxMRUWF7f61Yb1M411M011M111M41ldWtfBms4dHBctu2bXrqqad04MABxzyWJSUlys3N1ffff1/t86OionTkyBFlZ2crMjJSkrR79261bt1ajRs3rvD4VatW6fHHH9ekSZN06623utTmgIAAyw/ys7FNbxAeElTt+qrqUl/rZgVq5xrq5hrq5jpq5xrqdvZ49MU7c+bMUYsWLdSrVy+df/75uuGGGxQQEKD77ruvRs/v0KGD4uLiNHfuXBUUFCgjI0OLFy/WqFGjKjz2gw8+0OzZs7Vo0SKXQyWsFdkoWMlRkZWuS46KVGQjrgwHAMCTeHSw3Llzp5588kldf/31stvtuuWWW/Tss89qzZo1Nd7GwoULVVpaqr59+2r06NHq3bu3UlNTJUmxsbF67733JEkvvPCC7Ha7Jk2apNjYWMd/jzzyyFl5b6hek7BgpY/sViFcJkdFat7Ibkw5BACAh/HoofDw8HCFhISoXbt22rlzpyQpJiZGmZmZNd5GZGSkFi5cWOm6rVu3Ov59JmEVdadNRKgWjYlVdoFN+cUlahwSpMhGnjuPJXNuAgDqM48OlhdccIFWrlypMWPGKCwsTD/++KOCg4Pl5+fn7qahDjUJ845wlnWkqML0SMlRkUof2U1tIkKreCYAAL7Bo4fC09LS9Nxzz2nfvn267bbbNHr0aI0cOVLDhw93d9MAJ3mFtirn3MwrtLmpZQAA1B2P7rHs0aOH1q9fr6CgIF177bW66KKLlJ+fr6SkJHc3DWeBNw8jZxfYqpxzM7vA5jXvBQAAV3lksNy/f79at26trKwsp+WRkZGKjIxUVlaW2rRp46bW4Wzw9mHko8UlVa7Pr2Y9AAC+wCOD5VVXXaX//ve/SklJqXA+pTFGfn5+NbqlI7xDdcPIi8bEenxvX3VzbjauZj0AAL7AI4Pl2rVrJUkfffSRm1uCuuALw8jlc26ur+R9MOcmAKC+8Mhgec4550iS2rZt6+aW1A/uPrfRF4aRy+fcnLF6m1O4ZM5NAEB94pHB8sILL6x2SqH6MhTu7++vo8Wlyj1WdFaCnyec2+grw8jeNucmAABW88hguXz5cknSF198ofXr1+uee+5R+/bt9fvvv+vFF1+sV1eFh7c+T5Ne//asBD9PObfRl4aRvWXOTQAAzgaPnMcyISFBCQkJWrdunf785z+rb9++ioqKUnJysl544QW9/fbb7m5inThaXKrZa3ectbkRa3JuY13g1o0AAPgGj+yxLJebm6vw8HCnZQ0aNFB+fr6bWlS3co7ZtGFXTqXrrLioxZPObWQYGQAA7+eRPZblevbsqenTpysjI0MlJSX65ZdfNHXqVF1++eXublqdyC8urWZ97YKfp53b2CQsWB1bNlJM+6bq2LIRoRIAAC/j0cHyscceU05Ojvr3769u3bpp0KBBstvtmj17trubVicah1TdoVzb4Fd+bmNlvO3cRgAA4H4ePRTeokULrVixQllZWTpw4IBat27tmIqoPmjeMFi9OzWvdDjciuDHFDkAAMBKHh0spRPnWX744YfKzMxUWlqaPvnkE/Xp08fdzaoT4SGBmj0oWo+u23nWgh/nNgIAAKt4dLD84YcfdMstt+iCCy7Qzz//rHHjxiktLU2zZs3SyJEj3d28OnF0/149f12Mco+VnLXgxxQ5AADACh59juWTTz6pGTNm6PXXX1dgYKDatWunF198Ua+++qq7m1ZnysrKFB4SWG8vaskrtGn3wQJt3XdYuw8V1HqKJQAAcPZ4dI/ljh07dPXVV0uS4048vXv31uTJk93YKtQVT7grEAAAqDmP7rFs1qyZfvnlF6dlv/zyiyIjK7+SGb6jursC0XMJAIDn8ehgOXbsWE2YMEFvvvmmSktLtW7dOqWlpWn06NHubhrOMk+5KxAAAKg5jx4KHzdunAICAvTXv/5VZWVlWrhwoa699lrdfPPN7m4aqpBXaFN2gU1Hi0sUHhqkyIZnfnGQJ90VCAAA1IxHB8sjR44oLy9P3bt3V7du3SSdOO/ywQcf1JNPPunm1qEyVp0X6Wl3BQIAANXz6KHwyZMn6x//+Ifsdru7m4IasPK8SO4KBACA9/HoHsvvvvtOn3zyiSIiItzdFNRATc6LrOmQOHcFAgDA+3h0sGzfvr1KSjiXzltYfV4kdwUCAMC7eHSwfOSRR3THHXdo2LBhatKkidO6YcOGuadROK2zcV4kdwUCAMB7eHSwXLVqlXbs2KGlS5fK3///Tgf18/MjWHqg8vMi11cyHM55kQAA+D6PDpb/+te/9I9//EOdOnVyd1NQA5wXCQBA/ebRwbJp06Zq3769u5uBM8B5kQAA1F8eHSwnTZqkBx54QLfddpuaNGniuF+4JLVp08aNLUNVOC/Sd1kx+T0AwHd5dLCcMWOGJGnt2rWOUGmMkZ+fn3788Ud3Ng2od6ya/B4A4Ls8Olh+9NFH7m4CAFU/+f2iMbH0XAIAPDtYtm3b1t1NACBrJ78HAPguj76lIwDPYPXk9wAA30SwBFCtszH5PQDA9xAsAVSrfPL7yjD5PQCgnEefYwnXVTYtjCSmioFLmPweAFATBEsfVNm0ML2jInV3n066ddnXKrTZJTFVDM4Mk98DAKrDULiPOd20MBt2ZmvRxzt1a6/zHcvKp4rJK7TVdTPhpZqEBatjy0aKad9UHVs2IlQCAJwQLH1MVdPCfLErR7HtIpyWlU8VAwAAUFsESx9T3bQwx0vLKixjqhgAAGAFgqWPqW5amAaBFT9ypooBAABWIFj6mKqmhUnq1FxbM444LWOqGAAAYBWCpZfKK7Rp98ECbd13WLsPFTguwCmfFubUcNk7KlITU6K05PNfHcuYKgYAAFiJ6Ya8UGXTCZ08ddDppoWRpDX39FJ+cYkaNghUcIC/DuYXq7DEzpyW8BmVzeHKvg0AdYNg6WVON51Q+dRBi8bEqklYsOO/UzUJC642mALein0bANyLoXAvU9V0QjWZOqi6YMqclvBW7NuA7zrd6V/wPPRYepnqphOqbuqgmgRThg3hjdi3Ad/ESIR3ocfSy1Q3nVB1UwfVNpgCnop9G/A9jER4H4Kll6lqOqGaTB1U22AKeCr2bcD31Pb0L9Q9gqWXOd10QjWdOqi2wRTwVOzbgO9hJML7cI6lFzrddEKnhsrTTbuSPrKbZqzepvWnnK/CnJbwZuzbgO9hJML7ECy91OmmEypX3cnONQmmgLdh3wZ8S/lIxPpKhsMZifBMBEsfdCZzXQK+hn0b8B2MRHgfgqUPYtoVAICvYCTCuxAsfZCnnOzMrfUAAFZgJMJ7ECx9kCec7MyEtgAA1D9MN+SD3D3tChPaAgBQPxEsfVBt57qsLSa0BQCgfmIo3Ee582RnTznHEwAA1C2CpQ9z18nOnnCOJwAAqHsMhcNy7j7HEwAAuAfBEpZz9zmeAADAPRgKh6XK564sOF6ix4Z1ka20TMeOlzKhLQAA9QDB0se4c1Jy5q4EAKB+8/mh8JycHKWmpio+Pl6JiYl64oknVFpaWuVzPvjgA/Xt27eOWmidrCNFumflVvV95jMNX/yl+j79mSau3KqsI0Vn/bWZuxIAAPh8sJw8ebLCwsK0YcMGrVq1Sl999ZWWLVtW6WNLSkr0l7/8RVOmTJExpm4bWkvuDnbMXQkAAHw6WO7du1ebN2/WtGnTFBoaqnbt2ik1NVUrVqyo9PG33nqrNm3apPHjx9dxS2vP3cGOuSsBAIBPn2O5c+dORUREqFWrVo5lHTt2VFZWlo4eParw8HCnx8+fP1+tW7fW22+/7fJr2u12l597um2V//9ocalyjtmUX1yq8JAgNWsYpPCQwP+/rurgdrS4xNK2napxSNW7UqOQwLP6+ic7tW6oOWrnGurmGurmOmrnmsrqRg2t5dPB8tixYwoNdb5opPznwsLCCsGydevWtX7N7du313obp/rhhx8U3vo8zV67Qxt25TiW9+7UXLMHRevo/r1qENm+ym0E+5Xp22+/tbxt5Ro1b6nenZo7ta9c707NZS88om8zdpy116/M2fgs6gtq5xrq5hrq5jpq5xrqdvb4dLAMCwtTUZHzhSvlPzds2PCsvGbXrl0VEBBgybbsdru2b9+u9lEXafIb31UIbRt25ejRdTv1/HUxKrTZ1atTc31eSbBLjopUm2aNFN4mxpJ2nc68UZGasXqb1ldyVXirxsFSuzZn9fXLldfNys+ivqB2rqFurqFurqN2rqmsbuXLYA2fDpZRUVE6cuSIsrOzFRl5YrLu3bt3q3Xr1mrcuPFZec2AgADLD/LDhSXVnj85718/6eak82UkfXFSuOzVqbnmDu+qpg0bWNqmyrjz/uSVORufRX1B7VxD3VxD3VxH7VxD3c4enw6WHTp0UFxcnObOnas5c+bo8OHDWrx4sUaNGuXupp2R/OKqp0fKKyrRf348qC935+jWXufr1qTzdby0TA0C/bU144hs9rI6aqn77k8OAADcz6eDpSQtXLhQc+bMUd++feXv769hw4YpNTVVkhQbG6tHH31UQ4cOdXMrq1bdhTFhwSf+6iq02fXCx7sqrO93Ycuz0i4AAICT+XywjIyM1MKFCytdt3Xr1kqXjxgxQiNGjDibzTojzRsGKzkq0uncxXLJUZFqGFz1x9g4JOhsNQ0AAMDBp+ex9BXhIYFKH9lNyVGRTsuToyI1b2Q3RYQFVVh38mMiGzE0DQAAzj6f77H0FdVdGJM+slulV2TPG9ntjM95dOf9xgEAgPciWHqRyi6MKQ+BBcdL9NiwLrKVlunY8VKXr8jOOlJU4daQ5VMGtYkIreKZAACgviNYejGrQ2B19xtfNCaWnksAAHBanGPppaoLgXmFZ35vcHffbxwAAHg3eiy9VE1C4Jn2LlZ3v/H8atZ7kkbNW+rXnMIT91XnPFEAAOoEwdJLnY0QGF7NtETeMm3RgXybHv9Ppjbs2uZYxnmiAACcfQyFe6mzEQIjGwV7/bRFjlMETrlnem1OEQAAADVDsPQyeYU27T5YoLwim1aOT9Q9KZ0cd94p52oIbBIWXOV8md4wlMx5ogAAuA9D4V6ksqvAe3VqroVjYjVp5VYV2uxOIdCV+Sirmy/T0/nSeaIAAHgbgqWXON1V4J/vypGfn5/+cXeS/P38HCGwNlMRVTZfprfwlfNEAQDwRgyFe4mqhng37MyWv5+fOrZs5OiptHoqIm/hC+eJAgDgrQiWXuJMhnjr83mG5eeJ9u7U3Gm5N50nCgCAt2Io3Es0alD1R9XwpPX1/TzDVo2D9VC/tgoYerEKil2/vSUAADgzBEsvERzgr6ROzfXFKdPoSFJSp+YKDvi/zmfOM5QKcg4qpl0bBQQEVP9gAABgCYbCvcSRIptuSTpfSacM8SZ1aq5bks5XXtH/DW9zniEAAHAHgqWH8/f319HiUjUIDNCklVsV276pXr0pXouv76FXb4pXbPummrRyqxo2+L9eSF+YjxIAAHgfhsI9XHjr8zTp9W/VvV2EYttH6IWPd1V4TGW9kN4+HyUAAPA+BEsPdrS4VLPX7tCGXTn6Zu9hLRwTK0lO51lW1QvpzfNRAgAA70Ow9GA5x2yOe14X2uyatHKrbu11vm5NOl/HS8t0QWRDndMk5KyHR1fu4AMAAOofgqUHyy8udfq50GZ3Ggp/N/Wysx7wanMHHwAAUL9w8Y4HaxxSde63atqgvEKbdh8s0NZ9h7X7UIHjzjz1+Q4+AADgzNFj6cGaNwxW707NHcPhJ7Nq2qCqeiSLS+zV3sGHIXEAAFCOHksPFh4SqNmDos/atEHV9UiWlpkqn3+md/A5Xc8oAADwDfRYerij+/fq+etilHusxPJpg6q7p3hZNcHyTIbiOVcTAADfR4+lhysrK1N4SKA6tmykmPZN1bFlI8uGn6u7p3ihzW7JHXw4VxMAgPqBYFmPVXdP8SahQZbcwae6ntHsAoIlAAC+gKHweqz8nuLrKwl95T2STcKCa30Hn+p6Rs/0XE0AAOCZ6LGsx2p6T/EmYcG1GoqvrmfUqmmTAACAe9FjWc/VxT3Fa9IzCgAAvB/B0stZcbvFs31P8fKe0RmrtzmFS6umTQIAAJ6BYOnF6nIKn9oG2LroGQUAAO5FsPRS1U3hs2hMrGWhzaoAe7Z7RgEAgHtx8Y6XqqspfJiDEgAA1BQ9ll6qrqbwqUmArWkvpBXngwIAAM9FsPRSdTWFj1UBlls6AgDg+xgK91LlU/hUxsopfKwIsAynAwBQPxAsvVRNJzevLSsCLLd0BACgfmAo3IvVxRQ+VsxByS0dAQCoHwiWXq4upvCpbYDllo4AANQPBEvUSG0CLLd0BACgfuAcS9RIXqFNuw8WaOu+w9p9qOCMLripq/NBAQCAe9FjiWpZMVUQt3QEAMD30WOJKlk5VVCTsGB1bNlIMe2bqmPLRoRKAAB8DMESVWKqIAAAUFMES1SJqYIAAEBNESxRJaYKAgAANUWwRJXq6taRAADA+xEsvVxtpgGqCaYKAgAANcV0Q17MimmAaoKpggAAQE3QY+mlrJwGqCaYKggAAFSHYOmlmAYIAAB4GoKll2IaIAAA4GkIll6KaYAAAICnIVh6KaYBAgAAnoZg6aWYBggAAHgaphvyYkwDBAAAPAnB0ss1CSNIAgAAz8BQOAAAACxBsAQAAIAlCJYAAACwBMESAAAAluDiHQ/XqHlL/ZpTqPziUoWHBimyIRfrAAAAz0Sw9GAH8m16/D+Z2rBrm2NZclSk0kd2U5uIUDe2DAAAoCKfHwrPyclRamqq4uPjlZiYqCeeeEKlpaWVPvazzz7TkCFDFBMToyuvvFKffPJJHbf2/+QV2jR99TZt2JXjtHz9zmzNWL1NeYU2N7UMAACgcj4fLCdPnqywsDBt2LBBq1at0ldffaVly5ZVeNyePXs0ceJEpaWlacuWLZo4caImT56sAwcO1H2jJWUX2LRhZ3al69bvzNbB/OPafbBAW/cd1u5DBQRNAADgdj4dLPfu3avNmzdr2rRpCg0NVbt27ZSamqoVK1ZUeOw777yj+Ph49evXT4GBgbrqqqvUs2dPvfHGG25ouXS0uKTK9ftyC9X3mc80fPGX6vv0Z5q4cquyjhTVUesAAAAq8ulguXPnTkVERKhVq1aOZR07dlRWVpaOHj3q9Nhdu3YpOjraaVmnTp30008/1UlbTxUeEnRGj2eIHAAAuJtPX7xz7NgxhYY6X+RS/nNhYaHCw8OrfGxISIgKCwvP6DXtdruLrXXWrGGQkqMitb6S4fCkTs21NeNIheXrd2brUMFxNWoQYEkbvFX5Z2DVZ1GfUDvXUDfXUDfXUTvXVFY3amgtnw6WYWFhKipyHh4u/7lhw4ZOy0NDQ1VcXOy0rLi4uMLjqrN9+3YXWlqRv7+/Zl0VpdlrjdMFPL07ReqmpA6atHJrpc/LPVqkvIwdlrTB21n1WdRH1M411M011M111M411O3s8elgGRUVpSNHjig7O1uRkZGSpN27d6t169Zq3Lix02Ojo6P1ww8/OC3btWuXunTpckav2bVrVwUEWNNjaLfb9VC/tgoYerHyi0vVOCRQgf5+umrh5yq0Vf4XVrPwUJ1/fowlr++t7Ha7tm/fbulnUV9QO9dQN9dQN9dRO9dUVrfyZbCGTwfLDh06KC4uTnPnztWcOXN0+PBhLV68WKNGjarw2KFDh2rp0qVat26dBgwYoA8//FCbN2/WzJkzz+g1AwICLD3IC3IOKqZdG8c28wptij+vaaVD5MlRkWrRqAFfMv+f1Z9FfULtXEPdXEPdXEftXEPdzh6fvnhHkhYuXKjS0lL17dtXo0ePVu/evZWamipJio2N1XvvvSfpxEU9L774ol566SX17NlTixcv1qJFi3T++ee7s/kVNAkLVvrIbkqOinRanhwVqXkju3FXHgAA4DY+3WMpSZGRkVq4cGGl67ZudT5PsXfv3urdu3ddNKtW2kSEatGYWGUX2JRfXKLGIUGKbMStHgEAgHv5fLD0VU3CCJIAAMCz+PxQOAAAAOoGwRIAAACWIFgCAADAEgRLAAAAWIJgCQAAAEsQLAEAAGAJgiUAAAAsQbAEAACAJQiWAAAAsAR33rGIMUaSZLfbLdtm+bas3GZ9QN1cR+1cQ91cQ91cR+1cU1ndyv9d/nscteNnqKQlbDabtm/f7u5mAAAAF3Tt2lXBwdwqubYIlhYpKytTaWmp/P395efn5+7mAACAGjDGqKysTIGBgfL35wzB2iJYAgAAwBJEcwAAAFiCYAkAAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFh6qJycHKWmpio+Pl6JiYl64oknVFpa6u5meZx169bpD3/4g2JjYx3/TZs2TZL03Xff6ZprrlFsbKxSUlL01ltvubm1niE3N1f9+/fXpk2bHMuqq9U777yj/v37KyYmRiNGjNDWrVvrutluV1ndZs2apS5dujjtf2+88YZjfX2u208//aRbbrlFCQkJSkpK0v3336/c3FxJ7G9Vqapu7G9V++qrr3TNNdeoR48eSkpK0mOPPabi4mJJ7HN1ysAj3XDDDea+++4zhYWFZt++fWbQoEHmL3/5i7ub5XHS09PNjBkzKiw/cuSISUhIMK+99popKSkxX375pYmNjTXfffedG1rpObZs2WL69etnoqOjzcaNG40x1ddq48aNJjY21mzZssXYbDazdOlSk5iYaAoLC935VupUZXUzxpjhw4ebt99+u9Ln1Oe6FRUVmaSkJPP888+b48ePm9zcXDN+/HgzYcIE9rcqVFU3Y9jfqpKTk2O6du1qVq9ebex2uzlw4IAZPHiwef7559nn6hg9lh5o79692rx5s6ZNm6bQ0FC1a9dOqampWrFihbub5nG2b9+uLl26VFj+4YcfKiIiQtdff70CAwN16aWXasiQIfW6hu+8846mTp2qe++912l5dbV66623NGjQIMXFxSkoKEg333yzmjZtqnXr1rnjbdS509XNZrNpx44dle5/Uv2uW1ZWli688ELdfffdCg4OVtOmTXXttdfq66+/Zn+rQlV1Y3+rWrNmzfTll19qxIgR8vPz05EjR3T8+HE1a9aMfa6OESw90M6dOxUREaFWrVo5lnXs2FFZWVk6evSoG1vmWcrKyvTDDz/o008/VZ8+fZScnKyHH35YeXl52rlzp6Kjo50e36lTJ/30009uaq379erVS//+97911VVXOS2vrla7du2q17U8Xd1++uknlZaWauHChbrssss0cOBAvfzyyyorK5NUv+t2wQUX6JVXXlFAQIBj2QcffKCLL76Y/a0KVdWN/a16jRo1kiRdfvnlGjJkiFq0aKERI0awz9UxgqUHOnbsmEJDQ52Wlf9cWFjojiZ5pNzcXP3hD3/QwIEDtW7dOr3++uvas2ePpk2bVmkNQ0JC6nX9WrRoocDAwArLq6tVfa/l6eqWn5+vhIQE3Xjjjfrss880f/58/e1vf9OSJUskUbdyxhg9++yz+uSTTzRz5kz2txo6tW7sbzX34Ycfav369fL399ekSZPY5+oYwdIDhYWFqaioyGlZ+c8NGzZ0R5M8UmRkpFasWKFRo0YpNDRUbdq00bRp07R+/XoZYxwnbZcrLi6mfpUIDQ2tslbVra+vkpKStHz5ciUkJCgoKEjdunXTTTfd5Bg+o25SQUGBJk2apDVr1ui1115T586d2d9qoLK6sb/VXEhIiFq1aqVp06Zpw4YN7HN1jGDpgaKionTkyBFlZ2c7lu3evVutW7dW48aN3dgyz/LTTz9pwYIFMsY4ltlsNvn7+6tbt27auXOn0+N37dqlqKioum6mx4uOjq6yVlFRUdSyEv/5z3/0+uuvOy2z2WwKCQmRRN327dunkSNHqqCgQKtWrVLnzp0lsb9V53R1Y3+r2n//+19dccUVstlsjmU2m01BQUHq1KkT+1wdIlh6oA4dOiguLk5z585VQUGBMjIytHjxYo0aNcrdTfMoERERWrFihV555RWVlpYqKytL8+fP1/DhwzVw4EBlZ2dr2bJlKikp0caNG7VmzRqNHDnS3c32OP3796+yVqNGjdKaNWu0ceNGlZSUaNmyZcrJyVH//v3d3HL3MsboySef1FdffSVjjLZu3arly5fr2muvlVS/65aXl6ebbrpJPXr00KuvvqpmzZo51rG/nV5VdWN/q1rnzp1VXFysp59+WjabTZmZmZo3b55GjRpV7e+D+l47y7nvgnRU5dChQ2bixIkmISHBXHLJJSY9Pd2Ulpa6u1keZ9OmTebaa681sbGx5pJLLjGPPfaYKS4uNsYYs23bNse6vn37mtWrV7u5tZ7j1GlzqqvVu+++awYOHGhiYmLMqFGjzLffflvXTfYIp9Zt5cqVZsCAAaZ79+6mb9++5rXXXnN6fH2t25IlS0x0dLTp3r27iYmJcfrPGPa306mubuxvVdu5c6e55ZZbTHx8vOnTp4955plnzPHjx40x7HN1yc+Yk8YRAQAAABcxFA4AAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFgCAADAEvUiWNrtdmVkZLi7GV7j4MGDKiwsdHczqrVnzx53NwF1ID8/X7m5ue5uRrXYH11H7XA67Bvep1bBctGiRbrxxhtr3Ygbb7xRXbp0UWxsrGJiYhQbG6trrrlGmzdvrvW2Jenee+/Vu+++6/Lzb7/9dv35z3+u0WMXLVqkGTNmuPxaZyIlJUVdu3ZVbGyso3a9evXSvHnzVFZW5tI2s7OzNXDgQMt+kXfu3FmbNm2yZFsn+/jjj3Xbbbe5/Pz33ntPgwYNqtFjf/vtN8f9euvCJ598ottuu02XXHKJunfvrpSUFM2ePVsHDx6sszZ4kv79+1e4j6+rUlJS9Pbbb1uyrZP973//0+DBg11+/pYtWxQbG1vjx3fu3Fm//faby69XUy+//LLi4uL066+/Oi3/5z//qbi4OEs+lxUrVujhhx92/Hy2PiNPUNPvw/LvHCs+45O3c/DgQY0aNUoxMTGaOnVqrba7ZcsWdenSRWvXrnVavmfPHiUmJtbqd265U4+rGTNm1Nnv17p24403atGiRe5uhiU8psdywoQJ2rp1q7799ltt3rxZKSkpuuuuu5Sfn1/rbR8+fLhWz3/llVd055131rodZ8Ojjz6qrVu3Omr36quv6t1339ULL7zg0vaKi4u9orfyyJEjqs1No4YOHVrhC9ETvPjii5o+fbquuOIKvf/++9q6dauWLVum4uJijR07VkVFRe5uYp2r7fFbF/Lz81VSUuLy8+Pj47V161YLW2SNO+64Q5dddpkmTpzo+F7Ytm2bHnzwQT311FOKioqq9Wt4Q2+0r9i4caMyMzO1efNmLViwoFbbio+P1/3336+HHnpIO3bskHTiXucTJkzQiBEjNGzYsFq3t7bHFdzjjILlf//7X40cOVIxMTG67rrrztpfzEFBQbrxxhtVUFDg+Eu5oKBADz30kAYMGKCYmBj17t3bqRcxNzdXU6dOVc+ePZWYmKh7771XeXl5mjlzprZs2aKXXnrJEQ737dunO++8U4mJierTp4+effZZ2Ww2SdLbb7+tESNG6NZbb1V8fLzWrFnj9JdEde042aZNm5ScnKznn39eiYmJSkxM1BNPPOF4rbOhc+fO6tmzp/73v/9JOvFX0IwZM9SnTx/98Y9/VEFBgX7++WeNHz9eCQkJSk5O1uzZs5Wfny+73e7463Dw4MFat26dJGnt2rUaMmSI4uLiNGLECH3++eeO1ysuLtZTTz2lyy+/XD179tSNN96obdu2ObXp888/15VXXqnExERNmjRJhw4dcqxbtWqVRowYocTERMXGxmrChAlOv2j++te/qn///oqNjdWIESP01VdfadOmTZo1a5aysrIUGxurAwcOyGaz6fnnn1ffvn2VkJCg8ePHa+/evU51efzxx5WYmKg777xTb7/9tlJSUmrcjpOdbl+rrV9++UUvvPCC5s+fr2uuuUaRkZHy9/dX+/btNWfOHKee5AMHDmjy5MlKSUlR9+7d1bdvX61atcrp/b7xxhsaOHCgunfvrjvvvFPff/+9rrvuOsXGxmrkyJGO+ixatEhpaWmaPn26evTooeTkZP3zn//Uiy++qMsuu0wJCQlavHixY9v//e9/NW7cOPXq1Utdu3bViBEj9O2330qqfp+fMWOGJk2apCuvvFKXXHKJ9u3bp8zMTE2ePFmXXnqpkpKSdN999zl6ZwcOHChJGj9+vP7yl79Ikr788kuNGjVK8fHxGjRokN577z1H28rKyvTyyy+rX79+iouL06hRo7RhwwanOv/www8aMWKEEhISdNtttzkNtX388ce67rrrdOmll6p79+664YYbnNavWbNGgwcPVmxsrK688kqtW7dOGRkZGj9+vCQpNjZWW7dulTFGy5cv18CBAxUfH6+xY8fq+++/d2wnJSVFjzzyiJKSkjRs2DB99dVXTr3i1bXjZDU5BmvjySeflN1u18yZM3Xo0CGlpqbqrrvuUt++fR2Pqer4WbRokSZNmqSpU6cqPj5eycnJevrppyVJ77zzjl566SVt2bJF8fHxju398MMPuu6669SjRw8NGjTIafTqdN9f0onv77Fjx2revHlKSEjQJZdcor/97W9688031adPH8XFxemRRx5xbOvw4cN6+OGH1atXLyUmJmrChAmOOpf3Gr711ltKSUlRXFycbrnlFu3fv1+SZIzRyy+/rCFDhig+Pl49e/bUfffdp+LiYklSSUmJnnzySSUmJuqSSy7RK6+84lTX3bt3a8KECfrjH/+obt266aqrrtInn3xS6WeQnZ2tqVOnKikpSb169dIjjzyigoICSVJpaalmz56tpKQkJSYmauzYsfrmm28qbGP58uWaOXOmDh8+rMTERH355Zc1+PSrNm7cOKWkpGjixInKy8vT5MmT1b59e02bNs3xmOq+L1JSUvSnP/1JvXv3VkJCgiZOnKiCgoJKjytJysnJ0aRJk5SYmKhevXrptddec7xWTT7Pd999V3369FFMTIweeOABbdmyRUOHDlVsbKxuuukmx35b3XdJSkqKXnrpJQ0bNkyxsbEaNmyYNm7c6Fhf3TH81ltvqW/fvoqNjdX06dOdOg1czTtS1fuKVP3vuqp+39dYTW8qnpuba+Lj481LL71kbDab2bJli+nRo4e54YYban3D8htuuMEsXLjQ8fPx48fN0qVLTb9+/Rw3kJ81a5a56aabTF5enikrKzP/+te/THR0tNmzZ49jGxMmTDC5ubkmPz/f3Hrrrebee++tsP1jx46ZPn36mAULFpji4mKTlZVlRo0aZRYsWGCMMWb16tUmOjravP322+b48eOmqKjI6fnVtWPhwoVm+vTpxhhjNm7caKKjo01aWprJz883v/76q+nXr5959tlna10zY4zp06ePWb16teNnm81mNm7caHr27GmWL1/ueO+9e/c2+/fvN3l5eSY3N9ckJCSY9PR0U1RUZA4ePGjGjRtn7rzzTmOMMRkZGSY6OtpkZGQYY4z59NNPTVxcnNm8ebMpLS01H3/8sYmJiTE7duwwxhgzffp0M2TIELNnzx5z/Phxs2zZMhMbG2syMzONMcZER0ebIUOGmN9++83k5+ebO++804wbN84YY8x3331nunfvbr777jtjjDG///67GTBggKM+q1evNgkJCea///2vsdvt5s033zTdu3c3hw8fNqtXrzZ9+vRxvPf09HQzbNgws2/fPlNcXGwWLVpkUlJSTHFxsaMd48ePN4WFhSYvL8/p+dW1o7wm5ara12rjxRdfNJdffnmNHnv77bebqVOnmsLCQlNaWmqWLFliunXrZgoKChzv9/rrrzeHDx82Bw4cMPHx8aZ3795m165d5tixY+a6664zM2bMMMac2Gc7d+5s/vnPf5qysjIzf/58c9FFF5n09HRjs9nMv//9bxMdHW1+++03U1RUZBISEsxrr71m7Ha7OXbsmElLSzNjxowxxlS/z0+fPt3ExMSYn3/+2eTl5RmbzWYGDBhgpkyZYo4ePWry8vLMlClTzPDhw01JSYnjvWzcuNEYY8yPP/5ounXrZj744ANTWlpqvvnmG5OYmGjWr1/veC/Jycnm+++/NyUlJWbt2rWmS5cujs+2T58+Jjk52fz000+muLjYPPLII2bAgAGmpKTE/P7776ZLly7mo48+Msac+M4bO3asmTp1quO9denSxXz66afGbrebzz77zFx88cVm586djvdd7rXXXjN//OMfzY8//mhsNpt56623THx8vDl06JCjHVdffbXJy8szeXl5Ts+vrh3lNSk/Rqs7Bq2wa9cuExsba/74xz+aKVOmOK2r7vgp37/eeecdU1paaj799FPTuXNns3XrVsf6k3+P9OnTxwwYMMDs3bvXlJSUmJkzZ5oBAwY4alHV91f59/fSpUuN3W43K1asMBdddJGZMmWKKSwsNNu2bTMXXXSR2bx5szHmxLE8btw4c/DgQVNUVGTS09PN5ZdfbvLz8x3HfWpqqsnLyzOHDh0ygwcPNg8//LAxxpi1a9eapKQk8+uvvzpqlJCQYN58801jjDHPPfecGTBggNm3b585duyYmTZtmtO+fOWVV5oFCxYYm81mjh8/bp544gmTnJxsjHH+Hrbb7eaaa64x06ZNM/n5+SY3N9dMmDDB8Z2zatUqM3ToUJOXl2dKS0vNM888Y4YMGeKo58n7yqnfm1YoLCw0Q4YMMX/84x/NFVdcYfLz8x3ravp9MWvWLFNUVGT27NljkpKSzEsvveS0vtz06dNNly5dzBdffGHKysrM22+/bTp37mz2799f489z8uTJprCw0Pz888/moosuMkOHDjX79+83OTk5pn///mbRokXGmJp9l/Tv39/s2bPHFBYWmunTp5uBAwcaY6o/hr/88kvTpUsX8+WXX5qSkhKzYsUKEx0dXeOccbrfQdXtK9Udq9X9vq+pGvdYfvrppwoNDdX48eMVFBSkuLg4jRw58syT7Gm8/PLLio+PV3x8vLp376709HTddNNNCg4OliRNnDhRzz33nBo1aqT9+/erQYMGkk6cM1LetT99+nQ1bdpUjRo1Unp6uu66665K34fNZtOUKVPUoEEDnXPOOUpLS9OKFSscjwkKCtLVV1+t4OBghYSEOD2/qnZUxs/PT7NmzVKjRo3UoUMH3X777U49LLX16KOPOup26aWX6rHHHtMtt9yiG264wfGY5ORktWrVSuHh4froo48UFBSkqVOnKiQkRC1atNDDDz+sjz/+2Kknsdxrr72mMWPGqGfPngoICFCfPn2UkpKi119/XcePH9f777+v++67T+edd56Cg4N100036YILLtD777/v2MakSZPUtm1bNWrUSPfff782btyoAwcOKDo6Wu+//766deumvLw8HTx4UM2aNdOBAwcknejNuPbaaxUbGyt/f39dc801WrJkSYXPxBij119/XVOmTFG7du3UoEED3X333SopKdGnn37qeNzgwYMVGhqq8PBwp+dX146Tncm+dqb279+v1q1bOy178MEHnY6L8p7Dxx9/XLNmzVJQUJCysrLUsGFDFRcXO/Wc3nDDDYqIiFDLli0VFRWlAQMGqGPH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vny50wVpZ7LPd+3aVZ06ddKsWbOUn5+v/Px8zZ49W+3bt3f0Tp98/I4aNUrvv/++Pv/8c5WVlWnPnj264YYbtGTJEknSNddco5dfflk//PCD7Ha7/vnPf+rjjz/W8OHDHa+5ZMkS/fLLLyoqKtITTzyhiy66SF26dHF6b8YYrV+/Xu+++66jpsOHD9e///1vx2tv2LBBixYtUuPGjR3HTXk7R48erT/96U/avXu3JGnDhg0aNGiQvv766zOqcWXtOFlNj0FX7dmzR/fee68mT56syy67TIGBgXr22Wf1+++/O8L9mRw/lWnQoMFpRwhOVd3315lo2bKlLr/8cj3++OM6dOiQiouLtWDBAtntdvXp06fa5xcUFKhBgwYKCAjQ8ePHtWTJEu3YscPxvq+55hq98sor2r17t44fP6709HRHz+uxY8dkt9sdf3zt2rVLL774oiRVuLizW7duOu+885Senq5jx46puLhYc+fO1c033yy73a5PPvlE99xzj3777TfHH/yBgYFq3LjxGdXjTBUXF+uuu+5Sly5dHKONaWlpuvjii3X33XerqKioRt8XVTn1uKpKbT/PU9Xku+R0qjuGR44cqf/85z/65JNPVFpaqnfeeUffffed0/NdyTvV7SvVHatV/b4/EzXusQwPD9err76q2bNna+nSpTrvvPM0cOBAy/7yeOmllxy/HCSpefPmGjdunOOqsCeffFJz587VkiVL1KRJE1111VX6wx/+oB07dqhXr15asGCB0tPTdeWVV6q0tFQpKSmaOXOmJGnYsGGaPXu2vv/+e/3973/XsmXLlJ6erldeeUVlZWVKTEzUn/70pxq1s7p2VKZJkyaOKyivu+463X777bUpVa00btxYS5cuVXp6uuNLum/fvrr//vslnegB6d+/v6699lrNmDFDY8aMUWFhoR588EFlZWUpIiJCN998s2P+0vvvv1+LFi3SzTffrCNHjqhz58569dVXdf755ztes3fv3ho9erSKi4vVp08fPfjgg5JOnOuyY8cO9enTRw0aNNAf/vAHjR071nFl3ZAhQ3T06FFNmzZNhw4dUqdOnfSXv/xFzZo1U8+ePdW8eXP17NlTr7/+uqZPn65FixZp7NixOnLkiNq1a6eFCxdWGLqsTHXtOFVV+1pt3XXXXerevbv+9re/6bnnntOxY8fUuHFj9ezZU8uXL3cMAc+dO1fPP/+8Hn/8cTVv3lyjR4/Wrl27tGPHDqfaWy0pKUljx47V9ddfr7KyMp177rm68cYb9fTTTzuGoqSa7/OBgYF66aWXlJ6eroEDB8pms+myyy7T0qVLHcNG1157re677z7dfPPNuvfee/XMM8/omWeeUVpamkJDQzV48GBNmTJFknTLLbeorKxM9957rw4dOqTzzjtPzzzzjBISEhyv2a9fP9155506fPiwevbsqcWLF8vf31/Dhw/XN998o0GDBikgIEAXXHCBbrrpJq1YsUI2m01xcXGaN2+e5s2bp8zMTLVt21bPPPOMoqKiVFhYqLi4OPXu3VvPP/+8br75ZhljlJqaqoMHD6pVq1Z65JFHnK6kPp3q2lE+/FeuJsegK/Lz83XXXXcpKSnJ6fNr0aKFnnvuOd10003q2rXrGR8/p+rTp49WrlypuLg4p3OiK1Pd99eZeuqpp7RgwQINHz5chYWFiomJ0V//+ldFREQ4XUlbmcmTJ+uBBx7QZZddprCwMMXFxenqq6929EqNHz9eRUVFuuGGG1RaWqrRo0c7eqwvuOAC3X///Zo2bZqKiorUunVrjR49WvPnz9eOHTucerbLj5F58+ZpwIABOn78uLp166alS5eqQYMGGjdunA4cOKDrrrtOBQUFatu2rZ599tkK52tbbebMmTp27Jjmz5/vdOrB008/rREjRuihhx7SggULavR9cTrR0dFOx1V1avN5nqom3yWnU5Pvkqeeekrp6em69957dckllziNUrmad6rbV6o7Vq+44ooqf9/XlJ+pyZ+JqLFFixYpMzNT6enp2rRpk8aNG6eff/7Z3c1CLfz222/q27cvn2MNsM/Xjc6dO+ujjz6qcG4lcCr2FdQ1j5kgHQAAAN6txkPhp7N06VItXLjwtOu7dOlS6bQh5R599NEKF2PUB3fffXeVE9QWFhYqLCzstOvXrl1b5xcB4fRycnLUr1+/064/+WKDysTFxVWYQBmoDfZJVGXEiBGnPZWtrKxMNputyos2PPFOUfAMDIUDAADAEgyFAwAAwBIESwAAAFiCYAkAAABLECwBAABgCYIlAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFgCAADAEv8PdmliBMYb9wcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Xanthomonadales|f__Xanthomonadaceae', y='median_mmNorm', data=sig_families_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "1887048b-8619-46ff-afa6-86220167389c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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BYY4ImoUdxeGNiKi5sDTqUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyZN/cDSDLVFCigUqtQWGZFm4KByhbOcLdxbG5m0VERET/iyGOjGTllyIx5RyOpKv00yJ8lEiK80dHD0UztoyIiIiq8HQqGSgo0RgFOAA4nK7CwpRzKCjRNFPLiIiIqDqGODKgUmuMAlyVw+kqqNQMcURERJaAIY4MFJZpa5xfVMt8IiIiahoMcWTAzdmhxvmta5lPRERETYMhjgwoXR0R4aM0OS/CRwmlK+9QJSIisgQMcWTA3cURSXH+RkEuwkeJ1XH+HGaEiIjIQljkECM5OTl4+eWXkZqaCjs7O4wYMQKJiYmwtzdsbmVlJd577z1s374dhYWFuPfee/H0009j6NChzdTylqGjhwJrxwVApdagqEyL1s4OULpynDgiIiJLYpEhbs6cOWjXrh2OHDkClUqFp59+Gps2bcJTTz1l8LotW7Zg165d+O9//4suXbrg4MGDSEhIQK9evdClS5dman3L4O7C0EZERGTJLO506rVr15CamooFCxZAoVCgc+fOSEhIwJYtW4xeO2HCBOzZswddunSBRqNBbm4uFAoFnJ2dm6HlRERERE3H4nri0tPT4eHhgXbt2umnde/eHVlZWSgsLISbm5t+uq2tLVxcXHD06FFMmzYNQggsWrQI99xzT3M0nYiIiKjJWFyIKy4uhkJh+Ginqp9LSkoMQlyVkJAQpKWl4eTJk0hISICXl1e9r4vT6XQNb3QN6zP3euWOdTHGmhhjTUxjXYyxJsaspSYt/f3VhcWFOBcXF5SWlhpMq/q5VatWJpdxdLx97Va/fv0wcuRI7Nmzp94hLi0trQGtbb71yh3rYow1McaamMa6GGNNjLEmLZ/FhTgfHx/k5+dDpVJBqbw9zMXly5fRvn17tG7d2uC1SUlJAICFCxfqp2k0Gnh4eNR7u35+frCzs2t4w++g0+mQlpZm9vXKHetijDUxxpqYxroYY02MWUtNqt6nNbO4ENe1a1cEBgZi5cqVWL58OfLy8rBu3TrEx8cbvTYoKAjz589HdHQ0AgMD8eOPP2Lfvn34+OOP671dOzs7SXZ2qdYrd6yLMdbEGGtiGutijDUxxpq0fJKFuFOnTiEzMxNCCIPpo0aNqnXZ5ORkLF++HNHR0bC1tcWoUaOQkJAAAAgICMCyZcswYsQIDBw4EC+99BJeeuklqFQqdO3aFWvXrkXfvn2leEtEREREFkOSELdkyRJs374d99xzD2xsbPTTbWxs6hTilEolkpOTTc47c+aMwc/x8fEme+mIiIiIWjJJQty+ffuwbds29OrVS4rVExEREVk9SQb7bd26NXx9faVYNRERERFBohD39NNPY/Hixfjjjz+QlZVl8M8aFJRocCWnBDr3zriaU4qCEk1zN4mIiIhaGElOp5aXl2Pfvn3Yu3evfpoQAjY2Nvj999+l2KTFyMovRWLKORxJV+mnRfgokRTnj44eihqWJCIiIqo7SULcunXr8NJLLyE8PBy2thb3eFbJFJRojAIcABxOV2FhyjmsHRfAh8oTERGRWUgS4nQ6HcaNGyfFqi2aSq0xCnBVDqeroFJrGOKIiIjILCTpJouNjcXmzZulWLVFKyzT1ji/qJb5RERERHUlSU/cuXPnsHHjRqxZswbu7u4GY8X98MMPUmzSIrg5O9Q4v3Ut84mIiIjqSpIQZ60D8CpdHRHho8RhE6dUI3yUULryVCoRERGZhyQhbv/+/XjjjTfg6uoqxeotlruLI5Li/LEw5ZxBkIvwUWJ1nD+vhyMiIiKzkSTEnTlzBo6O1hlYOnoosHZcAG6py5FbWApPNwW8XJ0Y4IiIiMisJAlxw4cPx6xZsxATEwMvLy+Da+KCg4Ol2KRFcXdxhKuTHQoyLqJbtz6ws7Nr7iYRERFRCyNJiPv0008BAD/++KPBdGsY7JeIiIioKUgS4v744w8pVktERERE/0uSEAcAN27cwJ49e5CZmYl77rkHw4cPR5cuXaTaHBEREZFVkWSw37S0NAwbNgz79+9HQUEBfvjhB4wYMQL/8z//I8XmiIiIiKyOJD1xb7zxBmbPno3Jkyfrp33yySd48803sXXrVik2SURERGRVJOmJu3DhAsaPH28wbfz48bh48aIUmyMiIiKyOpKEOIVCgb///ttg2t9//w13d3cpNkdERERkdSQJcUOHDsVzzz2HI0eO4MqVKzh06BBmzZqFoUOHSrE5IiIiIqsjyTVxs2fPRm5uLhISEqDVauHk5IS4uDg8++yzUmyOiIiIyOpIEuKcnJyQlJSE5cuXo6CgAEql0uCpDURERETUOGYNcSdPnjQ5/erVq/r/W8Njt4iIiIikZtYQN2nSJJPTq/fC8bFbRERERI1n1hBn6nFbGo0Gq1evxrZt2zBr1ixzbo6IiIjIakn22C0AyMjIwJw5c5CXl4fNmzejb9++Um6OiIiIyGpIMsQIAHz33XcYPXo0vLy8sGPHDgY4IiIiIjMye0+cVqvFypUr8eWXX2Lu3LmYOnWquTdBREREZPXMGuIyMjIwe/ZsFBQU4LPPPoO/v785V09ERERE/8usIW7UqFEoKSlBVFQUtm7davJh96tWrTLnJomIiIiskllD3KBBgzioLxEREVETMGuIS0pKMufqiIiIiOguJBliRKvVYt++fcjMzERlZaXBPD4/lYiIiKjxJAlx8+bNw4kTJ+Dj42NwepWnWomIiIjMQ5IQd/ToUezevRv33nuvFKsnIiIisnqSDPbr5eUFDw8PKVZNRERERJCoJy4xMRGzZ8/G+PHj4ebmZjAvODhYik0SERERWRVJQtzZs2dx7NgxHDt2zGC6jY0Nfv/9dyk2SURERGRVJAlxn332GT744AOEh4fD1layx7MSERERWS1JEpaTkxPCwsIY4IiIiIgkIknKmjJlCt58800UFBRIsXoiIiIiqyfJ6dQtW7YgKysLmzZtMprHa+KIiIiIGk+SEMfHbxERERFJS5IQFxISIsVqiYiIiOh/SRLiDh06hNdeew2ZmZkQQhjM4+lUIiIiosaTJMQtX74cgwcPxoABA3iHKhEREZEEJAlx+fn5mD9/Puzs7KRYPREREZHVk6SbLDIyEocOHZJi1UREREQEiXriJk+ejPHjx8Pb29vo2ambN2+WYpNEREREVkWSEPfKK68gICAAQUFBPKVKREREJAFJQty1a9eQmpoKBwcHKVZPREREZPUkuSbugQceQEZGhhSrJiIiIiJI1BPXr18/TJ48Gf/85z/h4eFhMO/ZZ5+VYpNEREREVkWSEJeamopu3brhwoULBtNtbGyk2BwRERGR1ZEkxP33v/+t9TUffPABpk+fLsXmiYiIiFq8Znucwvvvv99cmyYiIiKSvWYLcXc+U5WIiIiI6q7ZQhyvjyMiIiJqOD6dnoiIiEiGGOKIiIiIZIghjoiIiEiGeGMDERERkQw1W4gbM2ZMc22aiIiISPYkGey3uLgYn332Ga5evYrKykqDeatWrQIAvPjii1JsmoiIiMgqSNITt2jRImzevBnl5eVSrJ6IiIjI6knSE3fixAls374dnTt3btDyOTk5ePnll5Gamgo7OzuMGDECiYmJsLc3bu7WrVuxadMm3Lx5E/fccw8mT56MCRMmNPYtEBEREVk0SUKck5MT2rVr1+Dl58yZg3bt2uHIkSNQqVR4+umnsWnTJjz11FMGr/v+++/x1ltv4cMPP0Tv3r3xyy+/YPr06VAqlRgyZEhj3wYRERE1UEGJBiq1BoVlWrgpHKBs5Qh3F8fmblaLIsnp1PHjxyMpKQm5ubn1XvbatWtITU3FggULoFAo0LlzZyQkJGDLli1Gr83Ozsa0adPQp08f2NjYICAgAKGhoTh58qQ53gYRERE1QFZ+KZ7degbRbx3C6HU/Ifrfh/Dc1jPIyi9t7qa1KJL0xH3xxRfIysrC1q1bjeb9/vvvNS6bnp4ODw8Pg5687t27IysrC4WFhXBzc9NPv/O0aU5ODk6ePIlFixbVu806na7ey9RlfeZer9yxLsZYE2OsiWmsizHWxFhz16SwrAKJKedwJF1lMP1wugoLU85hzb/6wM258fGDv3OJQlxSUlKDly0uLoZCoTCYVvVzSUmJQYir7tatW5gxYwZ69eqF4cOH13u7aWlp9W9sM65X7lgXY6yJMdbENNbFGGtirLlq4nxPV6MAV+VwugpZuWr8efNq0zaqhZIkxIWEhJicXpfTqy4uLigtNexurfq5VatWJpf55ZdfMHv2bAQFBWHVqlUmb4CojZ+fH+zs7Oq93N3odDqkpaWZfb1yx7oYY02MsSamsS7GWBNjzV2Tc5mFNc7XCFv06dOn0dupep/WTJIQd+7cObz++uvIzs7WjxOn1WqRm5uL8+fP17isj48P8vPzoVKpoFQqAQCXL19G+/bt0bp1a6PXb9++Ha+99hpmzZqFqVOnNrjNdnZ2kuzsUq1X7lgXY6yJMdbENNbFGGtirLlq4ubsUOt8/q7MQ5IbG5YvXw4vLy+Eh4ejW7dumDhxIuzs7DBv3rxal+3atSsCAwOxcuVKqNVqZGRkYN26dYiPjzd67XfffYelS5di7dq1jQpwREREZB5KV0dE+ChNzovwUULpyjtUzUWSEJeeno5Vq1ZhwoQJ0Ol0mDJlCt5++23s2bOnTssnJyejoqIC0dHReOyxx9C/f38kJCQAAAICArB7924AwLvvvgudTodZs2YhICBA/++VV16R4m0RERFRLdxdHJEU528U5CJ8lFgd589hRsxIktOpbm5ucHZ2RufOnZGeng4A6NOnDzIzM+u0vFKpRHJyssl5Z86c0f+/rqGwJeB4O0REJBcdPRRYOy4AKrUGRWVatHZ2gNKV31vmJkmIu//++7F161aMGzcOLi4u+P333+Ho6AgbGxspNtfiZeWXGt2uHeGjRFKcPzp6KGpYkoiIqHm4uzC0SU2S06mzZ8/GO++8g+vXr+PJJ5/EY489hri4OIwePVqKzbVoBSWaGsfbKSjRNFPLiIiIqDlJ0hPXt29fHD58GA4ODhg7diweeOABFBUVISwsTIrNtWgqtabG8XZUao0kf+nw9C0REZFlM2uIu3HjBtq3b4+srCyD6UqlEkqlEllZWejYsaM5N9niFZZpa5xfVMv8huDpWyIiIstn1hA3dOhQnD59GlFRUUbXvwkhYGNjU+tjt8hQbePttK5lfn3Vdvp27bgA9sgRERFZALOGuK+//hoA8MMPP5hztVatarydwyZOqUox3k5znb4lIiKi+jFriOvQoQMAoFOnTuZcrVWrGm9nYco5gyBX1/F26nttW3OcviUiIqL6M2uI69mzZ63DiPB06t3dLXA1dLydhlzb1tSnb4mIiKhhzBriNm/eDAA4duwYDh8+jGeffRZdunTB33//jffee493p9agtsBV3/F2GnptW1OfviUiIqKGMes4cSEhIQgJCcG+ffvw/vvvIzo6Gj4+PoiIiMC7776LHTt2mHNzLYYUY8HV5do2U/i4FCIiInmQZJy43NxcuLm5GUxzcnJCUVGRFJuTPSluJmjMtW18XAoREZHlk+SJDcHBwUhMTERGRga0Wi3+/PNPzJ8/HwMGDJBic7Inxc0Ejb22zd3FEd3vcUWfLm3Q/R5XBjgiIiILI0mIe/XVV5GTk4NBgwbB398fw4YNg06nw9KlS6XYnOxJcTNB1bVtpvDaNiIiIvmT5HSql5cXtmzZgqysLGRnZ6N9+/b64UfImBQ3EzR2aBIiIiKybJKEOOD2dXH79+9HZmYmZs+ejYMHDyIyMlKqzcmaVIGL17YRERG1XJKEuF9//RVTpkzB/fffjwsXLmDy5MmYPXs2lixZgri4OCk2KXtSBa76Dk1CRERE8iDJNXGrVq3CwoUL8fnnn8Pe3h6dO3fGe++9h48++kiKzclKQYkGl2+qceZ6Hi7fUhsMH8KbCYiIiKiuJOmJu3jxIkaOHAkA+ic49O/fH3PmzJFic7LRkCcoEBEREZkiSU+cp6cn/vzzT4Npf/75J5RK03dLWgMpBvQlIiIi6yVJiBs/fjxmzJiBL774AhUVFdi3bx9mz56Nxx57TIrNyUJDn6BAREREZIokp1MnT54MOzs7fPLJJ6isrERycjLGjh2LJ554QorNyUJjB/QtKNFApdagsEwLN4UDlK14wwIREZE1kyTE5efno6CgAL1794a/vz+A29fJvfjii1i1apUUm7R4jRnQl9fSERER0Z0kOZ06Z84cfPXVV9DpdFKsXpYa+gQFXktHREREpkjSE3f27FkcPHgQHh4eUqxelho6oG9drqXjaVUiIiLrI0mI69KlC7Ta+j+0vaVryIC+jb2WjoiIiFomSULcK6+8gunTp2PUqFFwd3c3mDdq1CgpNikb9X2CQmOupSMiIqKWS5IQt337dly8eBEbN26Ere3/XXZnY2Nj9SGuvqqupTts4pRqTdfSERERUcsmSYj79ttv8dVXX8Hb21uK1VuVhl5LR0RERC2bJCGuTZs26NKlixSrtkoNuZaOiIiIWjZJQtysWbOwaNEiPPnkk3B3d9c/PxUAOnbsKMUmLUpBiQa31OXQuXfG1ZxSswSu+l5LR0RERC2bJCFu4cKFAICvv/5aH+CEELCxscHvv/8uxSYtBgfmJSIioqYgSYj74YcfpFitxattYN614wLYm0ZERERmIUmI69SpkxSrtXgcmJeIiIiaiiSP3bJWHJiXiIiImgpDnBlxYF4iIiJqKgxxZtTQh9wTERER1RdDnBlVDcx7Z5CrPjBvQYkGl2+qceZ6Hi7fUqOgRNPo7UqxTiIiIrJsktzYYM2qBua9pS5HbmEpPN0U8HJ1gruLoyTDj3BIEyIiIuvEnjgJuLs4oltbF9gVZKBbWxd9D1xNw480pPdMinUSERGRPDDENZG6DD9iCeskIiIieWCIayJSDD/CIU2IiIisF0NcE5Fi+BEOaUJERGS9GOKaiBTDj3BIEyIiIuvFENdE6jL8iBTr5PAjRERELROHGGlCHT0USIrzR0GpFkVlWrR2doC7wgEdGjEUSNWQJiq1Rr9OpaujZEOaEBERkWVgiGtC13OKsWhnGo5dytFPC/dui5Wj/dClbasGr9fdxdGoJ6+24UfWjgtoUO8fERERWQaeTm0i2YVlRgEOAI5eysGLO9OQXVhm1u3JbfgRnvYlIiKqH/bENZG8Yo1RgKty9FIO8oo1aOfmbLbtyWn4EZ72JSIiqj/2xDWRwrKKRs2vL7kMP8KnThARETUMQ1wTcXOuudOztvn1JZfhR+R22peIiMhSMMQ1kTatHBHu3dbkvHDvtmjTyryhSoohTaQgp9O+REREloTXxEmgoESDW+py6Nw742pOKZSujmjn5oyVo/3w4s40HDVxd6o5r4erUtPwI5ZCLqd9iYiILA1DnJnVdJF+l7at8O/H+iCvWIPCsgq4OdujTStHSQJcFVPDj1iSqtO+h02cUrWk075ERESWhqdTzaguF+m3c3NGzw5uCOnmiZ4d3CQNcHIgl9O+REREloY9cWZUl4v0GUqMyeG0LxERkaVhiDOjwjItXBztMDW8GwI6e6C8ohLODnY4fT0PHx+9wov0a2Dpp32JiIgsDUOcGbkrHJA8LgAbj13Buwcu6aeHebdF8rgAuCl4kT4RERGZB6+JM6NWTvbYeOyK0ZMZjl3KwaZjV9DKiZmZiIiIzIMhzozUZRU1PlpLbeanMhAREZH1YogzIw5cS0RERE2FIc6MOHAtERERNRWGODOSy/NKiYiISP4Y4syIA9cSERFRU+HtkmZWNXDtLXU5cgtL4emmgJerkz7AFZRooFJrUFimhZvCAcpWHB+NiIiI6o8hTmI2sNH/v6bnqnb0UDRH84iIiEimLPJ0ak5ODhISEhAUFITQ0FCsWLECFRU1D8/x3XffITo6uolaeHdZ+aV4dusZDHzrMB7bcBLRbx3Cc1vPIDOvpNbnqhIRERHVlUWGuDlz5sDFxQVHjhzB9u3bcfz4cWzatMnka7VaLT788EPMnTsXQoimbegdCko0dw1q13JKan2uKhEREVFdWVyIu3btGlJTU7FgwQIoFAp07twZCQkJ2LJli8nXT506FSdOnMC0adOauKXGVGrNXYNafinHkCMiIiLzsbhr4tLT0+Hh4YF27drpp3Xv3h1ZWVkoLCyEm5ubwevfeOMNtG/fHjt27GjUdnU6XaOWB2oe7NfJvua87OpsX2MbCssqkFOsQVFZBdycHeDZygFuzhb366tV1Xs0R71bCtbEGGtiGutijDUxZi01aenvry4sLgUUFxdDoTC8yL/q55KSEqMQ1759e7NsNy0trdHrcL6n613nncnIR38fpcmeuv7ebaEryccvGReN5tna2sKt/X1Y+vVFHKn2SK/+3m2xdJgvCm9cQ2VlZaPb3tTMUe+WhjUxxpqYxroYY02MsSYtn8WFOBcXF5SWlhpMq/q5VatWkm3Xz88PdnZ2jVpHYVnFXYPaH38XYuVoPyzemYbDJu5ObdfaEejc0eQ6Z33+i0GAA4Ajl3KwbF861vyrj6x65HQ6HdLS0sxS75aCNTHGmpjGuhhjTYxZS02q3qc1s7hvfx8fH+Tn50OlUkGpvD1o7uXLl9G+fXu0bt1asu3a2dk1eme3tdHhmUhvVAqBY9VCV5h3WzzV/364Odtj7bgAqNQaFJVp0drZAUrXmseJyy0urfGGiNxiLdq0cmpUu5uDOerd0rAmxlgT01gXY6yJMdak5bO4ENe1a1cEBgZi5cqVWL58OfLy8rBu3TrEx8c3d9NqpVJrMHXTSUwN74apYd1QXlEJJ3tbnMnIx9RNJ7Hn2XB0v8e1XoP71nSdHcAbIoiIiKyVxYU4AEhOTsby5csRHR0NW1tbjBo1CgkJCQCAgIAALFu2DCNGjGjmVhorLNOiRKPDuwcumZzfkMDl5uxQ4/zWtcwnIiKilskiQ5xSqURycrLJeWfOnDE5PTY2FrGxsVI2q1ZSBC6lqyMifJQG19FVifBRQunKR3YRERFZI4sbJ07OqgKXKQ0NXO4ujkiK8zdab4SPEqvj/PncVSIiIitlkT1xclUVuBamnDO6A7UqcBWUaKBSa1BYpoWbwgHKVjXf2AAAHT0U9b4hgoiIiFo2hjgzqwpct9TlyC0shaebAl6uTnB3cURWfqnRY7mqhhjp6KGoMeC5uzC0ERER0f9hiJOAu4sjXJ3sUJBxEd269YGdnV2Nz1VdmHIOq2L9sHBH2l0DHhEREVF1vCauidT0XNXD6Spcyym5a8ArKNE0RROJiIhIRhjiJFBQosGVnBLo3Dvjak4pCko0tY73ll9qev7hdBVUaoY4IiIiMsTTqWZ2t+veFg97oMblnOzvnqc5oC8RERHdiT1xZlTTdW+nr+ffdfiR/j5KnMnIv+t6OaAvERER3Yk9cWZU03Vvr+79Dftm9ccrX503Gn5k5Wg/JH3zO56N8kZAZw+UV1TC2cEOp6/n4cLfhRzQl4iIiIwwxJlRTde9lWh0KCzV3HW8txf+2ROLdqYZPLIr3LstVo72a9TQIg0Zl46IiIgsH0OcGdX22K1WTg4mx3srKNFg8a7zOHYpx2D60Us5eGnXeawdF9Cg4FXbuHREREQkX7wmzowa+tit2oYfacjdqbWNS8dhS4iIiOSNIc6M3F0c8dqoXgj3bmswPdy7LV4b1euuvWm1DT/SkLtTpQiGREREZDl4OtWMCko0WL73N/Tp0gZTwrqhvKISTva2OJORj1f3/oY3x/Q2GeRqOw3bkLtTpQiGREREZDkY4sxIpdbg+99v4vvfb951vqkQV3Ua9rCJnrOaTsPWRIpgSERERJaDp1PNqKG9X+4ujkiK8ze6ni7CR4nVcf4NuqmhodfnERERkTywJ86MGtP71dFDcdfhRxqiKhguTDlnNC5dQ4MhERERWQ6GODNSujqiv4/S5A0F/evQ+2Vq+JHGMHcwJCIiIsvBEGdmz0R6o1IIgzHfwrzb4plI72Zpj7mDIREREVkGhjgzUqk1ePaz01gd54+Fj/aEukyH1s72yC4sw7Ofnca26f0YqIiIiMgsGOLMSF2uRVKcPz4+dsWoJy4pzh/F5RzWg4iIiMyDIc6MPBSOWPNDOgK6tMHU/x0nrupB9p+duIYlwx9q7iYSERFRC8EQZ0baykqMD70PG49dMXiQfZh3W0wJ6wZtZWUzto6IiIhaEoY4M6oUwMY7TqUC0P+8NKbpe+IKSjRQqTUoLNPCTeEAZSve6EBERNQSMMSZUWWlMApwVY5dyoGuUjRpe7LyS5GYcs5gyJMIHyWS4vzR0UPRpG0hIiIi8+ITG8yoRFNRy3xdE7Xkdg/cnQEOAA6nq7Aw5RwKSjRN1hYiIiIyP4Y4M3JX1DKYr6LpnleqUmtMDjoM3A5yKjVDHBERkZwxxJmRJT2vtKHPcSUiIiJ5YIgzIykeZN9QjXmOKxEREVk+3thgZlXPK72lLkduYSk83RTwcnVq8jtCq3oFD5s4pdrUvYJERERkfuyJk5gNbJplu5bUK0hERETmx544M2vMsB7mHtOtqldQpdagqEyL1s4OULpynDgiIqKWgCHOjGob1mPtuIC7BiipxnRzd2FoIyIiaol4OtWMGjqsB8d0IyIiovpiiDOjhg7rwTHdiIiIqL4Y4syoocN6cEw3IiIiqi+GODNydbZHuHdbk/PCvdvC1dn0JYgc042IiIjqiyHOjIrLK/BEWDeE3RHkwrzb4omwbiguN/1sVUt60gMRERHJA0OcGRWUajFr6xkEdGmDjx4PwroJffHR40EI6NIGs7aeQWGp6dOiHNONiIiI6otDjJiRm7MDSjQ6vHvgksn5NZ0W5ZhuREREVB8McWbU2EddcUw3IiIiqiueTjUjnhYlIiKipsKeODOzAfCoXwc8/nBXlFdUwsneFjeLypu7WURERNTCMMSZUUGJBi+YePICcLs3rqbHbhERERHVB0+nmhGfvEBERERNhSHOjPjkBSIiImoqDHFmxCcvEBERUVNhiDMjPnmBiIiImgpDnBnVZYiRghINLt9U48z1PFy+pUZBCa+TIyIiovrj3almVvXkhVvqcuQWlsLTTQEvVye4uzgiK78UiXfcvRrho0RSnD86eiiasdVEREQkN+yJk4C7iyO6tXWBXUEGurV10ffA3RnggNt3rS5MOcceOSIiIqoXhrgmwuFHiIiIyJwY4poIhx8hIiIic2KIayIcfoSIiIjMiSGuiXD4ESIiIjInhrgmUpfhR4iIiIjqikOMNKGq4UdUag2KyrRo7ewApasjAxwRERHVG0NcE3N3YWgjIiKixuPpVCIiIiIZYogjIiIikiGGOCIiIiIZYogjIiIikiGGOAkUlGhwJacEOvfOuJpTyueiEhERkdnx7lQzy8ovNXrQfYSPEklx/ujooWjGlhEREVFLYpE9cTk5OUhISEBQUBBCQ0OxYsUKVFRUmHztoUOHEBMTgz59+uDRRx/FwYMHm7i1/6egRGMU4IDbD7hfmHKOPXJERERkNhYZ4ubMmQMXFxccOXIE27dvx/Hjx7Fp0yaj1129ehXPPfccZs+ejVOnTuG5557DnDlzkJ2d3fSNBqBSa4wCXJXD6Sqo1AxxREREZB4WF+KuXbuG1NRULFiwAAqFAp07d0ZCQgK2bNli9NqdO3ciKCgIAwcOhL29PYYOHYrg4GBs27atGVoOFJZpa5xfVMt8IiIiorqyuBCXnp4ODw8PtGvXTj+te/fuyMrKQmFhocFrL126BF9fX4Np3t7e+OOPP5qkrXdydar5EsNWtcwnIiIiqiuLSxXFxcVQKAxvAKj6uaSkBG5ubjW+1tnZGSUlJfXerk6na0BrDTnY2SDMuy2OXcoxmhfm3RYOdjZm2Y6cVb1/a69DdayJMdbENNbFGGtizFpq0tLfX11YXIhzcXFBaWmpwbSqn1u1amUwXaFQoKyszGBaWVmZ0evqIi0trd7L3El4dMGUsG4AYBDkwrzbYkpYN6gKSpFz7UKjt9MSmKPeLQ1rYow1MY11McaaGGNNWj6LC3E+Pj7Iz8+HSqWCUqkEAFy+fBnt27dH69atDV7r6+uLX3/91WDapUuX0KtXr3pv18/PD3Z2dg1vOIArOSWY/O4xTA3vhqlh3VBeUQkne1ucycjHrK1nsPvZMHTr2qdR25A7nU6HtLQ0s9S7pWBNjLEmprEuxlgTY9ZSk6r3ac0sLsR17doVgYGBWLlyJZYvX468vDysW7cO8fHxRq8dMWIENm7ciH379mHw4MHYv38/UlNTsXjx4npv187OrtE7u5erE4Lua4N3D1wymhfho4SXq1OL/kDVhznq3dKwJsZYE9NYF2OsiTHWpOWzuBsbACA5ORkVFRWIjo7GY489hv79+yMhIQEAEBAQgN27dwO4fcPDe++9h/Xr1yM4OBjr1q3D2rVr0a1bt2Zpt7uLI5Li/BHhozSYHuGjxOo4f7i7ODZLu4iIiKjlsbieOABQKpVITk42Oe/MmTMGP/fv3x/9+/dvimbVSUcPBdaOC8AtdTlyC0vh6aaAl6sTAxwRERGZlUX2xMmdu4sjurV1gV1BBrq1dWGAIyIiIrNjiCMiIiKSIYY4IiIiIhliiCMiIiKSIYY4IiIiIhliiCMiIiKSIYY4IiIiIhliiCMiIiKSIYY4IiIiIhliiCMiIiKSIYt87FZTEkIAAHQ6nVnXW7U+c69X7lgXY6yJMdbENNbFGGtizFpqUvX+qr7HrZGNsOZ3D0Cj0SAtLa25m0FEREQN4OfnB0dH63y8pdWHuMrKSlRUVMDW1hY2NjbN3RwiIiKqAyEEKisrYW9vD1tb67w6zOpDHBEREZEcWWd0JSIiIpI5hjgiIiIiGWKIIyIiIpIhhjgiIiIiGWKIIyIiIpIhhjgiIiIiGWKIIyIiIpIhhjgJ5OTkICEhAUFBQQgNDcWKFStQUVHR3M1qFrm5uRg0aBBOnDihn3b27FmMGTMGAQEBiIqKwpdfftmMLWxaf/zxB6ZMmYKQkBCEhYXhhRdeQG5uLgDrrcvx48cxZswY9O3bF2FhYXj11VdRVlYGwHprUkWn02HSpElYuHChfpo112Tfvn148MEHERAQoP+3YMECANZbl/z8fLzwwgsIDQ1FcHAwEhIScPPmTQDWWxOrIsjsJk6cKObNmydKSkrE9evXxbBhw8SHH37Y3M1qcqdOnRIDBw4Uvr6+4ueffxZCCJGfny9CQkLEp59+KrRarfjpp59EQECAOHv2bDO3VnqlpaUiLCxMrFmzRpSXl4vc3Fwxbdo0MWPGDKutS05OjvDz8xMpKSlCp9OJ7OxsMXz4cLFmzRqrrUl177zzjujZs6dITEwUQlj350cIIZKSksTChQuNpltzXSZOnCieeeYZUVBQIIqKisSzzz4rpk+fbtU1sSbsiTOza9euITU1FQsWLIBCoUDnzp2RkJCALVu2NHfTmtTOnTsxf/58PP/88wbT9+/fDw8PD0yYMAH29vbo168fYmJirKI+WVlZ6NmzJ5555hk4OjqiTZs2GDt2LE6ePGm1dfH09MRPP/2E2NhY2NjYID8/H+Xl5fD09LTamlQ5fvw49u/fj8GDB+unWXtN0tLS0KtXL6Pp1lqX8+fP4+zZs0hKSoKbmxtcXV3x6quvYv78+VZbE2vDEGdm6enp8PDwQLt27fTTunfvjqysLBQWFjZjy5pWeHg4/t//+38YOnSowfT09HT4+voaTPP29sYff/zRlM1rFvfffz82bNgAOzs7/bTvvvsODz30kFXXxdXVFQAwYMAAxMTEwMvLC7GxsVZdk5ycHCxevBj//ve/oVAo9NOtuSaVlZX49ddf8eOPPyIyMhIRERF4+eWXUVBQYLV1OXfuHLy9vfHFF19g0KBBCA8Px+rVq+Hl5WW1NbE2DHFmVlxcbHDQBaD/uaSkpDma1Cy8vLxgb29vNN1UfZydna2qNsDtBze//fbbOHjwIBYvXsy64HZvyuHDh2Fra4tZs2ZZbU0qKyuxYMECTJkyBT179jSYZ601AW5fX/vggw9iyJAh2LdvHz7//HNcvXoVCxYssNq6FBQU4MKFC7h69Sp27tyJXbt2ITs7G4mJiVZbE2vDEGdmLi4uKC0tNZhW9XOrVq2ao0kWRaFQ6C9ar1JWVmZVtVGr1Zg1axb27NmDTz/9FD169GBdcPsLpl27dliwYAGOHDlitTVZv349HB0dMWnSJKN51loTAFAqldiyZQvi4+OhUCjQsWNHLFiwAIcPH4YQwirr4ujoCABYvHgxXF1doVQqMWfOHBw6dMhqa2JtGOLMzMfHB/n5+VCpVPpply9fRvv27dG6detmbJll8PX1RXp6usG0S5cuwcfHp5la1LSuX7+OuLg4qNVqbN++HT169ABgvXU5ffo0/vnPf0Kj0einaTQaODg4wNvb2ypr8tVXXyE1NRVBQUEICgrC3r17sXfvXgQFBVntfgLcvrP7zTffhBBCP02j0cDW1hb+/v5WWRdvb29UVlZCq9Xqp1VWVgIAHnjgAausibVhiDOzrl27IjAwECtXroRarUZGRgbWrVuH+Pj45m6aRRg0aBBUKhU2bdoErVaLn3/+GXv27EFcXFxzN01yBQUFePzxx9G3b1989NFH8PT01M+z1rr06NEDZWVl+Pe//w2NRoPMzEysXr0a8fHxGDJkiFXW5Ntvv8Xp06dx6tQpnDp1CsOHD8fw4cNx6tQpq91PAMDDwwNbtmzBhg0bUFFRgaysLLzxxhsYPXq01e4rDz/8MDp37owXX3wRxcXFyM3Nxdtvv42BAwdi+PDhVlkTa2Mjqv9ZQ2ahUqmwfPlynDhxAra2thg1ahTmz59vcEG7NenRowc2b96M0NBQALfvMFuxYgUuXrwIT09PJCQkIDY2tplbKb2NGzciKSkJCoUCNjY2BvPOnDljtXW5dOkSVq5cibS0NLRu3RoxMTH6O3ittSbVVY0Rl5SUBMB6Pz8AkJqairfeegsXL16Ek5MThg0bhgULFsDJyclq65KdnY2kpCScPHkS5eXliIqKwuLFi+Hm5ma1NbEmDHFEREREMsTTqUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyxBBHREREJEMMcUREREQyZBUhTqfTISMjo7mbIRs3b96UxUOSr1692txNsEjNXZdr16416/brory8HDdu3GjuZlgEHh+pIZr7OEO3NSrErV271uRDmutr0qRJ6NWrFwICAtCnTx8EBARgzJgxSE1NbfS6AeD555/Hrl27Grz8U089hffff79Or127dq1+hHWpRUVFwc/PDwEBAfrahYeHY/Xq1frn59WXSqXCkCFDkJuba5Y29ujRAydOnDDLuqo7cOAAnnzyyQYvv3v3bgwbNqxOr/3rr7/0zziV0o4dO9CzZ0/977N3796IjIxEcnIy6jom92+//Ybhw4dL3NK7W716Nf7zn/+YZV3mOr6YMn78ePz0008NXn7YsGHYvXt3nV67cOFCrF27tsHbqo8ePXpg+vTpRvvLjh07EBUVBQDIyspCQEAAsrKyADT++NhSTZo0qc6/t6ioKOzYscMs26xajxAC8+bNQ58+fRAVFVXnY0BNbezRoweOHDliNG///v3o0aNHnb+7tmzZgpdfftlg3Q15/1XH1r/++qvey95p4cKFNba/+me2Pr9bS2ff3A2oMmPGDDz33HMAAK1Wiw0bNuDpp5/Gjz/+2OgHx+fl5TVq+Q0bNjRqeSktW7bM4DEqFy5cwBNPPAGFQoFZs2bVe31lZWWy6IXLz89v1EFtxIgRGDFihBlbZB4dO3bEgQMH9D+fP38eTz75JDp16lSnZx4WFRUZPAy7qTX2s9ZUGtvOr7/+2kwtMb9Dhw5hw4YNmDZtmsn5HTt2xJkzZ/Q/y+V3Zm1u3ryJvXv3YseOHXjooYfMss42bdpg586d6N+/v8H0lJQUuLq61nk95vojvylZ8me2MerVE3f69GnExcWhT58++Ne//mWW9GyKg4MDJk2aBLVajStXrgAA1Go1XnrpJQwePBh9+vRB//79DXrHcnNzMX/+fAQHByM0NBTPP/88CgoKsHjxYpw6dQrr16/HzJkzAQDXr1/HzJkzERoaisjISLz99tvQaDQAbv/FGhsbi6lTpyIoKAh79uwxSO21taO6EydOICIiAmvWrEFoaChCQ0OxYsUK/bak0KNHDwQHB+O3334DcPsvjoULFyIyMhKPPPII1Go1Lly4gGnTpiEkJAQRERFYunQpioqKoNPp9L04w4cPx759+wDc3vljYmIQGBiI2NhYHD16VL+9srIyvP766xgwYACCg4MxadIknDt3zqBNR48exaOPPorQ0FDMmjULt27d0s/bvn07YmNjERoaioCAAMyYMcPgAPHJJ59g0KBBCAgIQGxsLI4fP44TJ05gyZIl+h6F7OxsaDQarFmzBtHR0QgJCcG0adMMTuv16NEDr732GkJDQzFz5kyDnom6tKO6u+1rUujVqxdCQkJw/vx5/bRff/0VkyZNQnBwMAYPHoxNmzZBCIGMjAz9F3dAQADOnDlT6/4aFRWFd999F0OGDEFAQAAmTJiAS5cuAbi9/w4YMADz5s1DUFAQPvjgA1RWVuKDDz7AwIEDERgYiPj4eP1f9u+99x727NmDPXv26AOySqXC/PnzERYWhvDwcLzyyitQq9X67Z86dQoTJkxAUFAQoqKi8M477xh8PkpKSrBw4UKEhobi0UcfNegxys7Oxpw5cxAVFYXevXsjOjoa27dv18/PyMjAzJkzERgYiH79+mHp0qXQaDSYOnUqsrKysGTJEixfvrzGmgK3ewSnTp2KuLg4hISE4OTJkwY9D7W1407ff/89YmNj0bdvXwwZMgSbNm1qcM+5KZMmTcKaNWtw+vRpk/Or937ceXysmpeUlITg4GAsW7YMAPDll19i2LBh6Nu3L2JiYgx6IU+ePInY2FgEBQVh0KBBWLFiBSoqKgDcDogvv/wywsPDERoaihkzZuhPw1Vta9euXYiMjESfPn2waNEinDp1CiNGjEBAQAAef/xx/eewpn0PuL0vr1+/HqNGjUJAQABGjRqFn3/+WT//wIED+Ne//oV+/fqhd+/emDhxosEpwS+//BLR0dEICAhAYmIiSktL9fPqc9yv7Vj02WefYeDAgQgKCkJMTAy+/PJLo3X89ttvGDJkCABgwoQJSE5ONrmt+oqJicH333+PoqIi/bSbN2/il19+MQp2dzvu79y5E+vXr8epU6cQFBSkf/2vv/6Kf/3rX+jbty+GDRumP5P2yiuvYOrUqQbrXr58OV544QWj9mVmZmLOnDno168fwsLCMG/ePNy8eRNA3b5Pc3JyMGvWLISGhiI8PByffvqpft7degsbmi2A2o9vtX2v1PTdWmeijnJzc0VQUJBYv3690Gg04tSpU6Jv375i4sSJdV3FXU2cOFEkJyfrfy4vLxcbN24UAwcOFOXl5UIIIZYsWSIef/xxUVBQICorK8W3334rfH19xdWrV/XrmDFjhsjNzRVFRUVi6tSp4vnnnzdaf3FxsYiMjBRvvvmmKCsrE1lZWSI+Pl68+eabQgghUlJShK+vr9ixY4coLy8XpaWlBsvX1o7k5GSRmJgohBDi559/Fr6+vmL27NmiqKhIXLlyRQwcOFC8/fbbja6ZEEJERkaKlJQU/c8ajUb8/PPPIjg4WGzevFn/3vv37y9u3LghCgoKRG5urggJCRFJSUmitLRU3Lx5U0yePFnMnDlTCCFERkaG8PX1FRkZGUIIIX788UcRGBgoUlNTRUVFhThw4IDo06ePuHjxohBCiMTERBETEyOuXr0qysvLxaZNm0RAQIDIzMwUQgjh6+srYmJixF9//SWKiorEzJkzxeTJk4UQQpw9e1b07t1bnD17VgghxN9//y0GDx6sr09KSooICQkRp0+fFjqdTnzxxReid+/eIi8vT6SkpIjIyEj9e09KShKjRo0S169fF2VlZWLt2rUiKipKlJWV6dsxbdo0UVJSIgoKCgyWr60dVTWpUtO+1hh3vichhPj9999FeHi4OHbsmBBCiBs3bojAwEDx6aefCo1GI9LT08WgQYPE1q1bhRD/t89VqW1/jYyMFOHh4eK3334TpaWl4uWXXxbR0dH6fcnX11e8++67QqPRiKKiIpGcnCwiIiLE+fPnhVarFV9//bXo1auXvnaJiYn6/V+n04kxY8aIBQsWiKKiIpGbmytmzJihr9Xly5dFr169xKZNm0R5ebm4evWqiImJEa+++qoQ4vZnydfXV/z3v/8VGo1GHD16VDz00EPi5MmTQgghnnrqKTF//nxRUlIiKioqxMcffyz8/f2FWq0WWq1WDBo0SLz00ktCrVYLlUolRo4cqf+cV//s1FbT5ORk0bNnT/HTTz/p1119+ZraUVWTquPH8ePHxUMPPSS+/vprodVqxfnz50VERITYuHFjo/cfIW7v5z///LNYvny5GDBggMjLyxNCGO5bd37Gqx/fqua99NJLory8XP9Z6du3r/jpp59ERUWF+Omnn0Tfvn3F/v37hRBCPPLII2LHjh365cPDw8W3336rX/fkyZPFzZs3RWlpqUhKShIDBgwQRUVF+m3NmTNHlJSUiAsXLogHHnhAjBgxQty4cUPk5OSIQYMGibVr1+p/DzXte5GRkWLQoEHi6tWroqSkRCQmJoohQ4YIIW5/pnv16iV++OEHIcTt77Px48eL+fPnCyGE+Omnn0SvXr3ETz/9JLRardiyZYvw9fWt83G/+v5Q07Ho+vXrolevXuLy5ctCCCEOHz4s/Pz8RHZ2tr5eVeu58/fUWFVtHDFihPj888/109evXy+WLFli8Nmt7bifnJxs8N0fGRkpBg8eLK5duya0Wq1YvHixGDx4sBDi9vG1Z8+e4saNG0KI29/vISEh4vjx4wbvUaPRiMGDB4u5c+eKwsJCUVBQIObOnStGjx4ttFptrd+niYmJolevXuLYsWOisrJS7NixQ/To0UO/3eq/o/p8p9/teF/b8a2275XaalxXde6J+/HHH6FQKDBt2jQ4ODggMDCwTqd36uqDDz5AUFAQgoKC0Lt3byQlJeHxxx+Ho6MjAOC5557DO++8A1dXV9y4cQNOTk4Abv8VkZmZidTUVCQmJqJNmzZwdXVFUlISnn76aZPvQ6PRYO7cuXByckKHDh0we/ZsbNmyRf8aBwcHjBw5Eo6OjnB2djZYvqZ2mGJjY4MlS5bA1dUVXbt2xVNPPVXna2nqYtmyZfq69evXD6+++iqmTJmCiRMn6l8TERGBdu3awc3NDT/88AMcHBwwf/58ODs7w8vLCy+//DIOHDhg0ENW5dNPP8W4ceMQHBwMOzs7REZGIioqCp9//jnKy8uxd+9ezJs3D/fddx8cHR3x+OOP4/7778fevXv165g1axY6deoEV1dXvPDCC/j555+RnZ0NX19f7N27F/7+/igoKMDNmzfh6emJ7OxsALf/4hs7diwCAgJga2uLMWPG4OOPPzb6nQgh8Pnnn2Pu3Lno3LkznJyc8Mwzz0Cr1eLHH3/Uv2748OFQKBRwc3MzWL62dlRXn32tIbKysvS/Tz8/P4wcORI+Pj7o1asXgNvX8nXv3h0TJkyAg4MDvL298eSTTxrsv9XVZX998skn8cADD8DZ2RmLFi3C33//bdCLEx8fDwcHB7i6uiIlJQXTp0/HQw89BHt7ewwdOhRRUVEme57Onz+PX3/9Vb//t2nTBomJifj666+Rl5eHPXv2oEePHvrP+X333Yd58+bhyy+/1PdMPfDAA5g4cSIcHBwQFhaGIUOG4KuvvgIAvPbaa1iyZAkcHByQlZWFVq1aoaysDAUFBTh9+jQyMzPx4osvolWrVmjbti3effddjBkzxqiddalp586d0a9fP7Rq1Qr29oZXodTUjjvt2LED0dHRGDp0KOzt7fHQQw9h+vTp+Pzzz03vEA2UmJgIT09PLFy4sEGXHYwaNQqOjo5wc3NDSkoKxo4di379+sHOzg79+vXD2LFj9W12cnLCN998g4MHD8LDwwOHDh3CkCFDkJGRgdTUVLz88svw8vKCs7Mz5s+fj4qKChw6dEi/ralTp0KhUMDX1xdeXl4YPXo02rVrB09PT/Tp0weZmZkAUKd9Lz4+Hvfddx8UCgViYmL0PW2enp74+uuvERUVBbVajRs3bqBNmzb6z/ju3bsxePBg9OvXD/b29hg/fjwefPBB/Xrretyv7VhkZ2enf83//M//oF+/fvjll19wzz331Pt31FCxsbHYuXOn/ueUlBSj7/Kajvt3M3bsWHTp0gX29vb45z//qb9Zxt/fH927d9d/J/z4449wdXVFaGiowfKnTp1CRkYGli1bhtatW8PNzQ3Lli3DH3/8oT8TUdv3aVhYGB5++GHY2Nhg2LBh+jMUNWlotqjt+Fbb90pDamxKna+Jy87ORocOHWBjY6Of1qVLF/z+++/12uDdTJ8+XX9NnE6nw9GjRzFv3jwAwMSJE5GTk4MVK1bgt99+w7333qv/UqusrNSHj06dOunX5+XlBS8vL6PtZGZmIjc3F8HBwfppQghotVrk5OTol7W1NZ1va2qHKe7u7mjTpo3+5w4dOtw18DXEkiVLDK6JM6X6ASInJwcdO3aEnZ2dftq9994L4HZtlEqlwbJVO/HWrVv103Q6Hf7xj3+goKAAWq1Wv3z19VU/1V59fseOHQHc3p/atGmDzZs3Y8+ePXBxcUGPHj2gVqv1Xzq3bt3Sv75K3759jd5fbm4uSkpKMHv2bIPfm1ar1X8B3FmH6mxtbWtsR3X12dca4s5r4jIzM7Fo0SJMmTIFKSkpyMzMxK+//mpwGqOystLg91ldXfbX++67T/9/hUIBDw8P3Lp1S/+eqtdNpVKhc+fOBtu499578ccffxht+6+//oJOp8OAAQMMpjs6OiIjIwM5OTkm11VWVqb/LN65b3Xo0AEXL14EcPt06euvv46rV6+ia9eu+vdRdUxo06YNFAqFwbpNqUtNa/qSrakdd8rJycEDDzxg9J6r76fm4OjoiHfeeQejR4/Gxx9/bHAMqou6/M6r9tNPPvkEa9euxbJly3Dr1i30798fS5cuhUqlAgCDZe3s7NChQwdkZmaid+/eAAAPDw+D+dX/yLK1tdV/Duuy71U/ftnb2+uXdXBwwN69e/H555/DxsYGvr6+UKvV+kCenZ1tdN1Z9W3V9bhf27FoyJAh+O9//4sNGzZg5syZ0Ol0iI2NxYIFC/ThQWoxMTF44403cOXKFeTk5MDJyQl+fn4Gr6npuH831X+PDg4O0Ol0+p9jY2Oxa9cuPPnkk9ixYwdGjx5tkCWA2zWuCkpVXF1d4eHhof9uqu37tHobqjqAqrfDlIZmi3379tV4fOvZs2eN3ysNqbEpdQ5x7du3R2ZmJiorK/U7p1S36NvZ2WHAgAHo168fDh06hIkTJ2L27NmIiorCRx99BHt7e+Tl5eGLL74AcPsXCdzuxejatSsA4NKlS9i7dy/mzJlj9D66dOmCb7/9Vj9NrVYjJycHnp6eAGC0c1VXUztMKSoqQmlpqf7L5K+//jIKJlKr/n46deqErKws6HQ6/ZfU9evXAdzeOe8MLu3bt8eoUaMwffp0/bSsrCw4OzvDw8MDTk5OyMjIQPfu3fXzr1+/bnC92c2bN9GzZ08A0P9VdO+992LTpk04duwY9uzZoz/4Vl23CNz+vf79998G7Xn77beNbkho06YNnJyc8PHHH6NPnz766X/++SfatWtnsg7V1daO6uqzr5lDp06d8MQTT+Dpp59GTk4O2rdvj9DQUHz00Uf61+Tl5aG4uNjk8nXZX6v3OBYXFyMvLw8dOnTQX9d05/5z51+2GRkZJkNO+/bt4ezsjBMnTuj3NY1Gg4yMDNx3333o1KkT9u/fb7DM9evX4ejoCHd3dwDGPR0ZGRno1KkTtFotZsyYgblz52L8+PGwsbHB+fPn9X+Vt2/fHnl5eQafvVOnTuH8+fN44oknjNpZW03vtu/U1o47derUSf95q/6ezPVHQHVdunTBq6++ihdeeKHWP/TuVP393nvvvXdtc3l5OS5duoSlS5fC3t4eV65cwUsvvYSVK1fipZdeAnD7d+rj4wPg9pdUVlaWwfut6XhbXX32vTt98803+PTTT7F161Z9yH711Vf1fxC0b9/eaN03btzQt7uux/3ajkU5OTnQ6XR47733UFlZidOnT2PWrFno1q0bJkyYUKc6NJanpyceeeQR7Nq1Czdv3kR8fLzRa2o67jfEyJEj8dZbb+HMmTM4duwYXnnlFaPXdOrUCXl5eVCr1fogV1RUhLy8PP13kxTfpw3NFhERETUe3z7++OMav1fMVeM6n06tusV57dq10Gg0OH/+vMkLMs3l7NmzOHHihL7HrKioCM7OzrCzs0Nubi5ee+01ALcPou3atUNYWBhef/11FBYWQq1W44033tB/KB0dHfUXckZGRqK4uBgbNmyARqNBYWEhEhMT8fzzz9fpYFJTO0zR6XRYvXo1ysvL8eeff+Kjjz4y+aFpKlV/Nbz55psoKyvDrVu3sGLFCvzjH/9Ap06d9H8NVl2c+dhjj2Hz5s36mxXS0tIQGxuLvXv3wtbWFnFxcXjrrbdw7do1aDQafPLJJ7h06ZLB8B1r165FdnY2CgoKkJSUhMGDB8PT01P/l7CDgwMqKirw1Vdf4ciRI/paxsbGYtu2bTh37hwqKyuRkpKCLVu26A+UpaWlqKiogK2tLeLj4/Hvf/8bN27cQGVlJXbu3Inhw4fXacyy2tpRXW37mrnl5ubiiy++QPfu3dGmTRvExMTgl19+we7du1FRUYGbN29i5syZSEpKAgD9769qf6/L/rpx40Zcu3YNpaWlWLVqFe6//34EBASYbM+YMWPwwQcf4Ndff4VOp8M333yDAwcOYPTo0QAMP2v+/v647777kJSUhOLiYpSVlWHlypV44oknoNPpMGzYMFy+fBmffPIJNBoNrl+/jrfeegsxMTH6v6LPnTuHlJQUaLVaHDx4EAcOHMCYMWOg1WpRVlYGZ2dn2NjYICsrC2+88Yb+vfn7+6Nr165YvXo1SktLoVKpsGrVKv1FxdXbWVtNa1JbO+4UFxeHAwcO4JtvvoFOp8Nvv/2GDz/80KyXplQ3dOhQxMXFYdu2bXd9TfVamBIfH49t27bh+PHj0Ol0+Pnnn7Ft2zbExcXBxsYGc+fOxccff4yKigp4eXnB3t4ebdq0wT333IMBAwbgtddew61bt1BWVoY333wTOp0OkZGR9X4vte17NSkqKoKtrS2cnZ0hhMDhw4exa9cu/e8oLi4O33//PQ4ePIiKigrs3LkTZ8+eNVi+Lsf92o5FWVlZmDp1Ko4fPw5bW1v9H5n17SltrNjYWOzZswcHDx5ETEyM0fyajvvA7ePM3c5WmNK2bVsMGDAAy5cvR1BQkMng5efnB29vbyxZsgRFRUUoKirC0qVL0aVLF/0ZGCm+TxuaLWo7vtX2vVJbjeuqziHOzc0NH330EY4fP46QkBAsXrxYf/eMOaxfv14/PlZAQADmzZuHyZMn6++2W7VqFfbt24e+ffsiNjYW7dq1w4MPPqj/S+rNN9+Eq6srHn30UURHR8PT01N/Z9WoUaOQkpKC8ePHw9XVFZs2bdLf6TJw4EDY2trWeWyr2tphiru7O6KjozF58mSMHj0aTz31VCOr1XCtW7fGxo0bcfHiRQwYMADDhw9Hp06dsGbNGgC3T0cMGjQIY8eOxdatW/HPf/4Tc+fOxYsvvoi+ffti9uzZeOKJJ/Tjd73wwgsIDw/HE088gdDQUHzzzTf46KOP0K1bN/02+/fvj8ceewyDBw+GUqnEihUrANy+FqZDhw6IjIxE//79sXv3bowfP15fy5iYGDz33HNYsGABgoKCsG3bNnz44Yfw9PREcHAw2rZti+DgYFy4cAGJiYno3bs3xo8fj6CgIGzatAnJyckG17XcTW3tuFNN+1pjVd1xW/Xv0UcfhaOjI9avXw9bW1t06tQJGzZswLZt2/Dwww9j5MiRuP/++/WBw9fXF4GBgejfvz8OHTpUp/01MDAQzzzzDMLCwnDr1i188MEHd72cYMqUKZgwYQKef/55BAUFYf369XjrrbcQEhIC4HZoOH36NB555BHY29tj/fr1UKlUGDx4MMLDw3H9+nVs3LgRTk5OuPfee7FhwwZ89913ePjhhzF+/HiEhYUZ/JX+8MMP44cffkBISAjeeustrFmzBg8++CBcXFywcuVKvPfeewgICMDkyZMRFhYGpVKJixcvwsHBAe+//z6ys7PxyCOPYOTIkQgODtYPuxMfH4+3334b8+fPr7WmNamtHXfq3bs31qxZgw8//BBBQUF49tlnMW7cuLv2/JrDiy++aHQKt7rqx0dTHn30USxatAivvfYagoKCsHTpUrzwwgv66+b+85//4IcffkBoaCiioqLg5eWF+fPnAwBef/11dO7cGaNHj8bDDz+MCxcu4JNPPjE47VVXte17Nana/rBhw/CPf/wD//nPf/D444/jypUr0Gg0CAwMxOuvv46kpCQEBQXhu+++Q1hYmH75+hz3azoW+fn54ZVXXsHSpUv1d4OPHz8ejz76aL3r0RgREREoLy/HP/7xD5MBsrbjfmRkJPLz8xEYGIjCwsI6bTM2Nha//fbbXf9gqTpeVFRUYMiQIYiMjIRWq8XGjRsNrkM19/dpQ7NFbce32r5XaqtxXdmIhlz1Sne1du1aZGZmIikpCSdOnMDkyZNx4cKF5m4WNcJff/2F6OjoFvl7jIqKwrPPPlvv021UdwsXLkSnTp301/wS3c2kSZMwevToFvl5/OOPPzBp0iQcPXq0Qdf/8fvUNIsZ7JeIiIhaFrVajaysLLzzzjuIjY1tshs4rEWjQ9zGjRtrHIiwV69eBgOV3mnZsmUWOXK+1J555pkaH/tTUlICFxeXu87/+uuvm/wGCbq7nJwcDBw48K7zq99IYkpgYKBFPxmEpMdjAt3NihUrahxAurZ9o+r0fXO4ceMGxo4di549eyIhIaFZ2tCS8XQqERERkQzV67FbRERERGQZGOKIiIiIZIghjoiIiEiGGOKIiIiIZIghjoiIiEiGGOKIiIiIZIghjoiIiEiGGOKIiIiIZIghjoiIiEiG/j+hku5QNE7bpAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Nitrosomonadales|f__Methylophilaceae', y='median_mmNorm', data=sig_families_v9)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9a7bd495-b262-4c6a-b3ad-da126c007d91",
   "metadata": {},
   "source": [
    "### Dig into genuses within Erythrobacteraceae"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "a8dcba3c-401b-413d-b15d-abe735616cd4",
   "metadata": {},
   "outputs": [],
   "source": [
    "erythrobacteraceae_genuses = [i for i in kraken_genus_abunds_v9.index\n",
    "                              if 'd__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae' in i]\n",
    "erythrobacteraceae_genuses_v9 = pd.concat((kraken_genus_abunds_v9.loc[erythrobacteraceae_genuses].transpose(), meta_v9['median_mmNorm']), axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "7c98825e-77bc-4cc6-ab98-a78cfd95ce20",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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nxYuXKjCwsJKLTMlJUXDhw+vsgN+586dtW3btipZ1uk+++wz3XjjjZV+/7p16zRixIhyvfaPP/5Q586dK/1ZlTFu3Dh169ZNx48fd5q+bdu2ctdSVftnVXF1PzzdnDlzqm0/u/TSS5WYmFjp90dERGjHjh3leu2UKVP01ltvVfqzKuLPP//U7Nmz9de//lU9e/bUoEGD9K9//UuZmZnlev9bb72lwYMHn3X+gw8+qAcffLCqyq21Bg8eXO42rarj4+DBg63lZGdn68Ybb1SPHj107bXXVsmyT/+eOf2/8m7nZzp9Hytru6qoihwjK2rhwoV67rnnqmXZ7vTWW2/V+HdFYmKiLrjgAt12223F5p1+fP/ll180cuTIGq2tNGduA1V9jlOR40dF1NR6bFDtn1BO06dP1x133CFJys/P18svv6zbbrtNX3zxhZo0aeLSsk+cOOHS+19++WWX3l+dHnnkEY0dO9b6+9dff9X1118vf39/zZgxo8LLy83NrRVXKdLT0+XKw+CvvPJKXXnllVVYUdX58ccfdeTIEcXExGjlypW688473V1SlXB1P6wprta5c+fOKqqk6hQWFmratGnq27evPvjgAwUFBSkpKUn33XefZsyYoeXLl7v8GXPnznW9ULhs9+7d+vLLL7Vt2zaFhIRUyTLP/J5xVW05FpypttbtiVauXKmxY8fqvffe0++//64OHTqU+LqsrCzl5+fXcHVnV1u3gZpajxW6UvH9998rNjZWPXv21DXXXKM//vijWopq2LChpkyZIpvNpt9//12SZLPZ9MADD2jYsGHq2bOn+vfv73T1IC0tTffcc4969+6tPn366M4771RGRobuv/9+7dixQy+88IJuvfVWSdKhQ4d06623qk+fPho0aJCefvpp2e12SacS+9ixYzVt2jRFRUVp/fr1mjJliuLj48tVx+m2bdummJgYPfPMM+rTp4/69OmjefPmWZ9VHTp37qzevXvrl19+kXTql9A5c+Zo0KBBGjhwoGw2m3799VfdfPPNio6OVkxMjB5++GFlZWXJ4XBYSXbkyJHauHGjJGnDhg0aNWqUIiMjNXbsWH355ZfW5+Xm5uqxxx7TgAED1Lt3b02ZMkW7du1yqunLL7/U5Zdfrj59+mjGjBlOv76vWbNGY8eOVZ8+fRQREaHp06c7XSX573//q0svvVQREREaO3astm7dqm3btumhhx5ScnKyIiIidPToUdntdj3zzDMaMmSIoqOjdfPNNztdouzcubP+/e9/q0+fPrr11luL/TpWVh2nO9u2VlVWrlypyy67TJMmTdJrr72mnJycEl9XdAXlf//7n/r27avIyEjNnj1bNpvNes3Jkyf1wAMPqF+/furTp4+efvppa97Ro0c1a9YsDR48WD169NCQIUO0Zs0aa37nzp318ssva+DAgdY6OXr0qKSS95PStoWK7oeS9Mknn2js2LHq1auXhg8fruXLlztdgUtLS9Ntt92m3r17a/To0dq8ebM1b//+/Zo+fboGDhyo7t2764orrtDnn39uzf/55581ZcoURUREqF+/fnrmmWdkjNHw4cMlSTfffLNeeuklSdLXX3+tcePGKSoqSiNGjNC6deus5cyZM0czZszQ5ZdfrosvvliHDh1y+uWqrDrO9Oabb2rEiBHq1auXRo0a5fRZrjhx4oR+++03jRgxQkFBQZKkdu3a6YEHHlCbNm3kcDgkld7mklRQUKAnnnhCAwcOVK9evfTAAw+ooKDAWhdFvy7Gx8drxowZuueeexQVFaWYmBg9+eST1nJyc3P10EMPKTo6WgMGDNB//vMfp1/bDx8+rFmzZumSSy5R3759dffdd+vYsWOSTh1XBw8erJdfftna7p966il9+umnGj58uCIiInTHHXdY21JZx6iifajovddcc41+/fVXa35pxwZjjJ5//nn169dPUVFRWrhwobUupbL3sdPZbDbNnTtXAwYM0CWXXKI777xTKSkp1vz4+HgNGDBA0dHRio2N1aefflpsGZ988oluuOEGSdKgQYP05ptvlrJVVJ3BgwfrwQcfVN++fTV69GhNmzZN//znP51eM336dD3zzDMl7mNlbVdn7mOlbR9FXnzxRQ0YMEAxMTF6/PHHre3Bbrdr4cKFuvzyyxUREaFLLrlE//rXv6wfqbKzszV37lxdcsklioqK0s0336zDhw9r8eLFWr9+vdavX2/9IJWSkqJ77rlHffv2Vb9+/fTggw9ax99t27ZpwIABuvvuuxUVFaUXX3yx0ucxZX2WVPZ3WGnf42f65ZdfNHHiREVEROiqq67Sc889V6VXk7KysrRu3Tpde+21uvTSS7Vs2bISX5eUlKSbb75Z0qkrwDt37pQxRitWrNDw4cMVFRWlSZMm6aeffrLec+a2WFhYaB3ve/furWHDhmn58uVWe8fHx2vatGmKjY1VdHS0nn32WUVGRiovL89a5gcffKBBgwaVuA1I0ldffaWrrrpKERERGjdunPbu3Sup5G2gsLBQL774ooYOHarIyEiNGzdOW7Zscfp3//zzzxo7dqyio6N14403OnVb+uyzz3TNNdfokksuUY8ePTR58mSn+evXr9fIkSMVERGhyy+/XBs3bqyy9VguppzS0tJMVFSUeeGFF4zdbjc7duwwvXr1MpMnTy7vIs5q8uTJZtGiRdbfeXl5ZtmyZWbo0KEmLy/PGGPMQw89ZK677jqTkZFhCgsLzQcffGDCw8PNgQMHrGVMnz7dpKWlmaysLDNt2jRz5513Flv+yZMnzaBBg8wTTzxhcnNzTXJyshk3bpx54oknjDHGrF271oSHh5u33nrL5OXlmZycHKf3l1XHokWLzL333muMMeabb74x4eHhZubMmSYrK8v8/vvvZujQoebpp592eZ0ZY8ygQYPM2rVrrb/tdrv55ptvTO/evc2KFSusf3v//v3NkSNHTEZGhklLSzPR0dFmwYIFJicnxxw7dsxMnTrV3HrrrcYYY5KSkkx4eLhJSkoyxhjzxRdfmMjISLN9+3ZTUFBgPvvsM9OzZ0+zd+9eY4wx9957rxk1apQ5cOCAycvLM8uXLzcRERHm8OHDxhhjwsPDzahRo8wff/xhsrKyzK233mqmTp1qjDHmxx9/ND169DA//vijMcaYP//80wwbNsxaP2vXrjXR0dHm+++/Nw6Hw7zxxhumR48e5sSJE2bt2rVm0KBB1r99wYIFZvTo0ebQoUMmNzfXxMfHm8GDB5vc3FyrjptvvtlkZ2ebjIwMp/eXVUfROilS2rbmqpSUFNOtWzezb98+U1hYaC6//HLzv//9z5pftE2dXtfkyZNNamqqOXbsmLn66qvNPffcY4w5tS127tzZvPPOO6awsNBs3brVdO7c2Xz//ffGGGNuuukmc88995js7GxTUFBgXnnlFdO9e3djs9msdTZixAhz6NAhk5mZaW699VYzceJEq23O3E/K2hYqsh9u3brVdOnSxWzYsMHk5+ebn376ycTExJhly5YZY05tdxdeeKH58MMPTX5+vnn77bdNly5dzMGDB40xxlx++eXmiSeeMHa73eTl5Zl58+aZmJgYY4wxJ06cMNHR0SY+Pt7k5eWZgwcPmpiYGLN69Wrr3/3NN98YY4zZvXu36d69u/nwww9NQUGB+e6770yfPn3M5s2brTp69uxpfv31V5ORkVHs/aXVUbROivbhtWvXml69epmvv/7aFBQUmK+//tr06tXLfPTRR65uVsYYY6ZOnWr++te/mkcffdR8/PHH5tixY8VeU542f+GFF0x+fr5JTEw0PXr0MOvXr7fWRdGxr2jbe/vtt01BQYH54osvTOfOnc3OnTuNMcb885//NGPGjDHJycnGZrOZ2bNnW+vNbrebYcOGmbvuustkZmaajIwMc9ddd5kxY8aY/Px8ax+YP3++sdvt5osvvjDh4eHmhhtuMOnp6ebQoUOmd+/e5u2337bqKusYNWHCBHPs2DGTmZlprr/+ejNt2jRjTNnHhjfffNNcfPHF5qeffjJ5eXnmySefNOHh4VablmcfK9pW7rjjDjNt2jSTkpJibDabeeCBB8yECROsfbdv377m6NGjprCw0Kxevdr06dPH2O12Y8yp74Ki5Zx+jKgKZ37PnO01V111lcnIyDAZGRlmw4YNJioqyvr+Pn78uOnSpYs5dOhQsX93ebar0/ex8m4fd999t7HZbObAgQNm6NCh5tlnnzXGGPPiiy+aESNGmKNHjxpjjPn+++/NRRddZL7++mvr88aNG2eSk5NNXl6emTNnjhk/frw1r2gbdzgc5uqrrzazZ882WVlZJi0tzUyfPt36Liiq49lnnzV2u91kZWVV+jymrM8qazst63t87dq11rlcVlaWueSSS8x//vMfk5eXZ/bs2WMGDhzo9H3rqmXLllnrdOfOnaZ79+4mNTXVmn/6ej5ze165cqUZOHCg2b17t7Hb7ebNN980UVFR5vjx48aY4tvikSNHTGRkpFm5cqWx2+0mMTHRXHrppdbxftGiReaCCy4wX3/9tbHZbCYvL8/07t3bbNiwwfrM6dOnm2eeeaZYbcb83/Hj+PHjJicnx9x0003W8aOkbWDRokUmJibG/PTTTyY/P99s2LDBdO3a1Wq7QYMGmZiYGLNnzx6Tm5trHnzwQTNs2DCTn59v/vzzT9O1a1fz6aefGmNOnZdPmjTJ+s7/5ptvTNeuXc0XX3xhHA6H2bRpk+nSpYtJTEx0eT2WV7lDxVtvvWX69+9vCgsLrWnz5s2rslDRtWtXExkZaSIjI80FF1xgOnfu7HQylZKSYk6cOGEcDodJTk42n3/+uQkPDzfbt283f/zxhwkPDze//fab9fpjx45ZO8zpJzMbNmwwffv2dfp3bNmyxURERBhjTu1cXbp0MQ6Hw6m+oveXVocxxUNF586dTVpamrWs1157rcp2zkGDBpnu3btb6y0yMtKMGDHCLFmyxPr3TZ482dx///3We958803Tt29fU1BQYE1LTEw04eHh5tixY8VCxU033WSd6BW56667zNy5c01ubq7p0qWL+eKLL5zmx8bGmhdeeMEYc2qH+/jjj615v/32mwkPDzdHjhwxOTk51uekp6ebH3/80VxzzTVmzpw5Vu1PPvmk07K/++47k5OT4xQKCgsLTc+ePa0TvaJp/fv3Nx988IFVx7vvvmvNP/39ZdVxeqgoa1tz1eLFi82NN95o/f3qq6+aIUOGWNtjSaHi559/tl6/ZcsW07VrV5OXl2cWLVpkRo4c6bT8vn37mnfeeccYY8yRI0dMVlaWyc/PN4cOHTKvv/66CQ8PdzrZOv2EtqjtkpKSiu0n5dkWKrIfzp4928yYMcNpWStXrjTDhw83xpw6sMfFxTnNnzBhgnnuueeMMcYcOnTI5OXlmby8PPPbb7+Z+Ph407lzZ2NMycey/fv3mz///NP6dxed8Dz00EPFAuOTTz5ppk+fbtVx/fXXO80//f2l1VG0TopO2CZNmmQWLlzotKyFCxdaX1CuysvLMytXrjTXXXed6dGjhwkPDzdXXnml035TVpv36tXLab1NmDDBLF682FoXp4eKorYq0q9fP/P2228bu91uevTo4fS5WVlZ5sILLzTffPON+frrr82FF15osrKyis3fuXOntQ8UnYQUFBQUq3vSpEkmPj6+3Meo9957z5r3+uuvm8GDBxtjyj42TJ482Tz11FPWewsKCkyfPn2sNi3PPvbNN9+YlJQUEx4ebvbv328tKzs721x00UUmISHBfP/996Zr164mPj7e/PTTT6agoMCpHao7VJz5PRMZGel0bBk0aJBZsmSJ9XdeXp6Jjo4277//vjHGmFdeecXpXOHMUFHWdnX6Plae7aNz585OJ0KvvfaaGTZsmDHmVDseP37cFBYWmqNHj5qvv/7aCqF5eXmma9euZsuWLdZ7MzIyzK5du6xairbxH3/80Vx00UVWQDTm//aXtLQ0qx2OHDliza/seUxZn1XWdlra93hRGxS1z7vvvmv69evndA60cuXKKjtvKSwsNMOGDXM6ab/66qtNfHy89XdpoeLyyy+3AkGRCRMmmKVLlxpjim+LL774ohVgirz22mvW9rto0SJz6aWXOs1/5JFHzC233GKMOdVmpwfikkJF0XlG0bKHDh3qVPvp28CAAQPMypUrnT5vxowZ5p///KdV//Lly615RceB7777zvoRzJhT2/wvv/xi/va3v5kpU6YYY4yZM2eOueuuu5yW/eOPP5rMzEyX12N5lfueiqNHj+qcc86Rl5eXNa19+/bavXt3eRdRqltuucW6p8LhcOjLL7/U3XffLUmaPHmyUlNTNW/ePP3yyy8699xz1bVrV0mn+goXdadp27attbwWLVqoRYsWxT7n8OHDSktLU+/eva1pxhjl5+crNTXVeq+3d8k9w0qroyTBwcFq2rSp9fc555xT7DKtKx566KEy+7q2bNnS+v/U1FS1adNGPj4+1rRzzz1X0ql1Exoa6vTew4cPa/v27Vq9erU1zeFw6OKLL1ZGRoby8/Ot95++vNO7xp0+v02bNpJObU9NmzbVihUrtH79egUEBKhz586y2WzWZcnjx49bry/Sq1evYv++tLQ0ZWdna+bMmU7tlp+fr8OHD5e4Hk7n7e1dah2nq8i2VlEFBQV67bXXlJmZqT59+kg6tV1lZmbq448/troNnOkvf/mL9f/nnHOO7Ha70tPTJalYn2pfX1+re0ZSUpIee+wxHThwQOedd561nNO35dOXXdQWRevg9P2kvNtCkbL2w9TUVF144YXFlnV6e575Weecc47VVWfPnj2Ki4vT8ePH1bFjRzVr1sxpuzrzWHb++ecXq7Gozm+++UZRUVHWNIfDofbt21t/n227KquOM6WkpKhdu3bF/s2fffbZWZdfEb6+vrr22mt17bXXyuFwaM+ePXr11Vd16623av369dY6KK3Ng4ODndZbw4YNnbr7nO7MfaJhw4YqLCxUenq6cnJynPahwMBA6ziZmpqqpk2bKjAw0Gl+SEiI0zGq6PVFx7Kibl3SqX3aGFPu7fL0416DBg2sNirr2HDs2DGdc8451nt9fHycjlnl2cckWdv1+PHjnab7+Pjojz/+0GWXXab4+Hj973//08svvyw/Pz9NmTJFt91221m/q6pSRb9nfH19NXLkSL377ru67LLL9Pbbb2vatGlnfW9Z29WZ32FlbR9BQUFO28Ppx4acnBzNnTtX3377rVq3bq2LLrpIxhgVFhYqIyNDdrvdqQ2DgoLUrVu3YjX/8ccfcjgcGjBggNN0X19fp1Huzqy9MucxGzduLPWzLrjgglK309K+x8905MgRtWnTxmm7OvO45IrNmzfrwIEDevjhh/XII49IOtVFsaiLTqNGjUp9/+HDh7Vw4UI98cQT1rSCggJrXUrO6/zw4cP6+eefnY7hhYWFTudAZx7Dx44dqwkTJig1NVXr1q1Tr169Sl0Hp3/PlnRMPH35ZzvO79mzx+nvIv7+/goJCdHRo0cVERGh9957T6+99pq8vLwUHh4um82mBg1OncofO3ZMF110kdOyu3fvXmLNFV2P5VXuUNG6dWsdPnxYhYWF1sZ25MiRCn9gefj4+Fj9Sjdt2qTJkydr5syZGjx4sJYuXaoGDRroxIkTeuONNyTJOqgnJyfrvPPOkyTt27dP7733nmbNmlXs39G+fXt98MEH1jSbzabU1FQ1a9ZMkpwObmcqrY6SZGVlKScnR/7+/pJOHYjOPFGubqf/e9q2bavk5GQ5HA5rpzp06JCkUwewM094WrdurdGjR+uWW26xpiUnJ8vPz08hISFq1KiRkpKS1LFjR2v+oUOHnPpfHjt2TBdccIEkWQfbc889V8uXL9dXX32l9evXW1/qRf3tpVPt+ueffzrV8/TTTxe7wbpp06Zq1KiRXnnlFfXs2dOa/ttvv6lVq1YlrofTlVXH6SqyrVXUxx9/LLvdrg0bNjgd8J555hktW7bsrKHi6NGj1gnhH3/8IX9/f6cgW5L8/HxNnz5dd911lyZNmiQvLy/99NNPxfrwHz16VOHh4daypVMnmr///rvT+gwNDS3XtlCkrP2wbdu21nZZJCkpyelE9cxwnpSUpC5duujo0aOaOXOmnn32WeuzP/zwQ3300UfWZ//5558yxlj/hk8++UQ2m02jR48uVueYMWOcbkI+duyY035ytu2qrDrOdO6555b5b66sN954Q88++6w+//xz+fj4yMfHR126dNG8efP0ySefaO/evdY2VFqbV4XmzZvLz89PycnJ1mdmZ2dbN0C2bdtWJ06ckM1ms04cs7KydOLECadjVGnH6SIV3S7PVNaxoXXr1k4nkMYYa7ss7z4myTpOvf/++07tvW/fPrVr107Jyclq3ry5li5dKrvdrq1bt+r2229Xly5dNHDgwDL/HTXhzPaIjY3V+PHjtXPnTv3xxx9nPX5VdNnl2T5sNpuys7MVEBAg6dR+VHSy/sADDyg4OFhffvmlGjVqpMLCQuvHjebNm8vX11d//vmntW2mpqbqpZdeKvFcws/PT9u2bbOO13a7XUlJSfrLX/6i7777rljtlT2PiYmJKfWzXnnllTK307N9j5+pTZs2Sk5Odjo+Jicnl6OVymfVqlWaMGGC4uLirGn5+fkaO3as3nnnHU2YMKHU97du3VozZsxwGr3x0KFDTif2p6/z1q1bq0+fPlq6dKk17cSJEzp58mSJr5ekrl27qlOnTvrwww+1YcMGl0fGOnP7PXNo9aSkJKcT+NO/22w2m06cOKG2bdvq/fff18qVK7V69WrrB4p//etf1j0c55xzTrG2OvO8qEhF12N5lfsnjsGDB8sYo/j4eNntdv3000/VehPYjz/+qG3btlk7e1ZWlvz8/OTj46O0tDT9+9//lnRqY2zVqpX69u2rxx57TJmZmbLZbHr88cethvP19VVWVpakUzevnTx5Ui+//LLsdrsyMzN177336s477yzXCiytjpI4HA4tXLhQeXl5+u2337R06VKNGzfO5fVTWUW/dDzxxBPKzc3V8ePHNW/ePF188cVq27at9StB0Q1g48eP14oVK6wbGxMSEqwRG7y9vRUbG6unnnpKBw8elN1u13//+1/t27fPaUONj4/X0aNHlZGRoQULFmjYsGFq1qyZlbAbNmyogoICvfvuu9qyZYu1LseOHavXX39du3btUmFhodauXatVq1ZZISInJ0cFBQXy9vbWuHHj9OSTT+rIkSMqLCzU22+/rZEjR5ZrPOmy6jhdWduaK1auXKlRo0apbdu2at26tfXflClTtHPnTn3//fclvu/JJ5+UzWbT0aNHtWjRIl111VVq2LBhqZ+Vn5+v3Nxc+fn5ycvLS8nJyXr88ceteUUWL16s48ePKzMzUwsXLlT//v2dglqR8mwLFdkPY2Nj9dlnn+n999+Xw+HQL7/8opdeekmxsbHWZ3766afatGmT8vPz9cYbb2j//v0aNWqUTp48KYfDYQX5ffv2afHixZJOfREPHDhQBQUFev7552W323Xo0CHNnz/fujHv9DrHjRun9957T19++aUKCwt14MABTZ48Wa+88kqZ7VlWHWcaN26cXn/9dW3dulUOh0PffPONXn/9dad/c2UNHDhQeXl5euihh3TgwAE5HA6lp6dbN0hGR0dbry1vm1dW0f5adFzIycnRo48+av26161bN3Xq1EkPPfSQsrKylJWVpYcffljt27cv8UplWZ9VnmPU2ZR1bLj66qv1xhtvaOfOncrPz9dzzz1n/eJc3n1MOnVcGThwoObNm6cTJ05Yyxo3bpwyMzOVkJCgm266SXv27JGvr6+aN28uSWX+eOBOF110kTp16qS5c+fqiiuusPYDyXkfq6jybB8Oh0MLFixQdna29u/fr6VLl+qaa66RdKpNGzVqJG9vb9lsNj322GOy2WzKz8+Xt7e3Ro8ebW2beXl5+s9//qMffvhBfn5+TnV3795df/nLX7RgwQKdPHlSubm5mj9/vq6//vqzXr2r7HlMWZ9V1nZa2vf4mYrO9YqOj0XnLVXh0KFD2rx5syZOnOj0HdeuXTtdddVVWrZsWbEfNovOSYrW+/jx4/Xcc89p//79kqQtW7ZoxIgR+vbbb0v8zFGjRumHH37QunXrVFBQoGPHjunWW2/VggULSq117NixeuONN3TgwAENGzbMmu7KtiudOma8+OKL+vnnn+VwOPT+++/rs88+05gxY6zXvPLKK/rtt9+Uk5OjefPm6cILL1TXrl2VlZUlb29v+fn5yRijzZs365133rHaecyYMfr444+t76stW7YoPj5eTZo0cXk9lle5Q0VQUJCWLl2qrVu3Kjo6Wvfff79Lvzyc6YUXXnAa//ruu+/W1KlTrTvWH330UW3cuFG9evXS2LFj1apVK1100UVWQnviiScUGBioyy+/XEOGDFGzZs2sS2ujR4/W2rVrNWnSJAUGBmr58uXWyExDhw6Vt7d3uceeLquOkgQHB2vIkCGaOnWqxowZo5tuusnFtVV5TZo00bJly7R3714NGDBAI0eOVNu2bfXMM89IOvXL3qWXXqoJEyZo9erVuuyyy3TXXXfpvvvuU69evTRz5kxdf/31VnL/+9//rn79+un6669Xnz599P7772vp0qVOw8P1799f48eP17BhwxQaGqp58+ZJkqZNm6ZzzjlHgwYNUv/+/bVu3TpNmjTJWpejRo3SHXfcodmzZysqKkqvv/66XnrpJTVr1ky9e/dW8+bN1bt3b/3666+699571aNHD02aNElRUVFavny5Fi1aVOxSYEnKquNMpW1rlbVnzx7t2LGjxC4GF110kbp27XrWE9n27dtr5MiRuvLKKxUREaH77ruvzM8LCAjQ/PnztXjxYkVERGjq1Knq27evQkNDnf7dXbp00aRJkzR48GAFBQU5XSo9U1nbQkX2wx49euiZZ57RSy+9pKioKN1+++2aOHGi069vQ4YM0UsvvaTo6Gi98cYbWrp0qVq1aqXzzz9ff//73zV79mxFRkZq5syZio2NVcOGDbV3716nY1m/fv00ZcoUXXPNNdYvZBMmTNDdd9+tp59+Wj169NBTTz2lp556Sr1799bkyZM1ePBgq2tmacqq40yXX365/vGPf+jf//63oqKi9PDDD+vvf/97sasnldGyZUtrJLGiUa+GDx+unTt36tVXX7Wu0koVa/PKuvvuu3X++efriiuu0PDhw9W6dWt5e3urYcOGatCggV544QUVFBRo+PDhGjRokPLz87Vs2TLrMn9FlOcYdTZlHRtGjhypGTNm6M4771R0dLSSkpKsZySUdx8r8thjjykoKEijR4/WxRdfrE2bNunll19WixYtNHz4cE2bNk233XabevbsqZkzZ+q+++5Tjx49Krw+KuOhhx4q8TkVRaM3nc3YsWP1yy+/FAvGp+9jFVWe7SMkJEQhISEaMGCAbrzxRo0fP956ZscDDzygPXv2KDo6WpdddplsNpv69+9vtcmcOXPUtWtXXX311erfv79OnDhhfT9eccUV+v777zVw4ECrjpSUFA0bNkz9+vXToUOHtGzZsrN24anseUxZn1XWdlrW9/jpAgICtGTJEn366aeKjo7WXXfdpb59+5b5Q1V5rFq1Sp07dy7WtVU6tU38/vvvxbp7hoeHKzIyUv3799emTZt0/fXXa/To0YqLi1NERITmzZunBx98UEOGDCnxM9u2bauXX35Zr7/+uv7617/qqquu0vnnn19mqBg1apT27dtXLBCfvg1Uxg033KBrr71Wd955p6KiovTCCy/oqaeecvphZ+jQobr11lsVExOjjIwMLVmyRN7e3hozZoz++te/asSIEbr44ov13HPP6brrrtPvv/8uu92uyMhILVy4UAsXLlRUVJQee+wxPfXUUwoLC3N5PZZbhe/CQKlKGv0JtduZoz95ijNvqq9qp99Miepx+o3anqCm2nz79u1ON9JmZWWZ8PBw8/vvv1f7Z9dFp9+o7Uk++eQTc9lll7m7DJTh9Bu109LSzI4dO5zmr1ixwkyYMMEdpblNQUGBufjii80PP/zg7lJqleq/wwsAgNO88sormjdvnnJzc5WXl6dFixapQ4cOVl9y1G4nTpzQ7t279dxzz2nixInuLgcV4HA4dN1112nTpk2STt1X9eqrr2rQoEFurqzmJCYmavHixWrdunWNXQ2sK1x+ovayZcu0aNGis87v2rWr0wM1zvTII4947JONq9Pf/vY3ff3112edf/pNZiXZsGFDjd/wjbNLTU3V0KFDzzr/9BvjSxIZGenRT26He40dO/asN0oXFhbKbreXeNNlEU97ynfRyC8DBgyQw+FQZGSkXnzxRXeXVee463vmp59+0u23366//vWv1r0MqB1CQ0P1n//8R0888YRmzZqloKAgjRkzRjfeeGO9Od+bPn26JJX6b0XJvIw5y/iGAAAAAFAOdH8CAAAA4BJCBQAAAACXECoAAAAAuIRQAQAAAMAlhAoAAAAALiFUAAAAAHAJoQIAAACASwgVAAAAAFxCqAAAAADgkv8HW4JHYIznM3kAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae|g__Altererythrobacter', y='median_mmNorm', data=erythrobacteraceae_genuses_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "5295937a-fc21-48bd-9b0a-3ee61430189e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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9dVXuuuuu2r8+g8//FDXX399lZb97bff1KlTpxpvqyZGjBihrl276sSJE07TN2/eXOVaauv4rC3nehyWNmvWLJcdZ1dddZWSk5Nr/PqoqCht3bq1SsuOHTtW7733Xo23VR2///67ZsyYoT/96U/q3r27BgwYoMcff1zZ2dlVev17772ngQMHnnX+I488okceeaS2yq23Bg4cWOU2ra3z48CBAx3ryc3N1V133aVu3brp1ltvrZV1l/6eKf2vqvv5mUofY5XtV9VVnXNkdS1evFh/+9vfXLJuT3rvvffc+l2Rk5Ojp59+Wtdcc42ioqLUp08fTZ8+XYcPH3ZbDaVVJ+PVRw09XUCJCRMm6P7775ckFRYW6tVXX9V9992nb775Rk2aNDmndZ88efKcXv/qq6+e0+td6bHHHnN6/Pcvv/yiO+64Q4GBgZo0aVK115efn18vruZnZmbqXB7qfMMNN+iGG26oxYpqz44dO3T06FHFxcXpjTfe0AMPPODpkmrFuR6H7nKudW7fvr2WKqk9xcXFGj9+vGJjY/XJJ58oJCREKSkpeuihhzRp0iStWrXqnLcxb968cy8U52z37t367rvvtHnzZoWFhdXKOs/8njlX9eVccKb6WnddkpGRoVGjRumyyy7Tiy++qPbt2yszM1MvvPCCRo0apTVr1ujCCy90a011OePVhmpd0d+2bZvi4+PVvXt33XLLLfrtt99cUpSfn5/Gjh0rq9WqAwcOSJKsVqvmzJmjq6++Wt27d1ffvn2dfgPLyMjQ9OnT1atXL8XExOiBBx5QVlaWZs+era1bt+qll17SvffeK0k6fPiw7r33XsXExGjAgAF69tlnZbPZJJ3+zXb48OEaP368oqOjtW7dOo0dO1aJiYlVqqO0zZs3Ky4uTs8//7xiYmIUExOj+fPnO7blCp06dVKvXr30888/Szp9xXDWrFkaMGCA+vfvL6vVql9++UX33HOPevfurbi4OD366KPKycmR3W7XkCFDJElDhgzR+vXrJUkff/yxhg4dqp49e2r48OH67rvvHNvLz8/Xk08+qX79+qlXr14aO3asdu7c6VTTd999p+uuu04xMTGaNGmS01XqNWvWaPjw4YqJiVFUVJQmTJjg9NeEv//977rqqqsUFRWl4cOHa9OmTdq8ebPmzp2r1NRURUVF6dixY7LZbHr++ec1aNAg9e7dW/fcc4/Tn1g7deqkJ554QjExMbr33nvLXEWqrI7Szrav1ZY33nhD1157rcaMGaN//vOfysvLK3e5kr80/OMf/1BsbKx69uypGTNmyGq1OpY5deqU5syZoz59+igmJkbPPvusY96xY8c0ZcoUDRw4UN26ddOgQYO0Zs0ax/xOnTrp1VdfVf/+/R2fybFjxySVf5xUtC9U9ziUpC+++ELDhw9Xjx49dM0112jVqlVOf6nKyMjQfffdp169emnYsGHasGGDY97+/fs1YcIE9e/fX5GRkRo8eLC+/vprx/z//e9/Gjt2rONq0vPPPy9jjK655hpJ0j333KNXXnlFkvTDDz9oxIgRio6O1vXXX68PP/zQsZ5Zs2Zp0qRJuu666/THP/5Rhw8fdrpKW1kdZ3r33Xd1/fXXq0ePHho6dKjTts7FyZMn9euvv+r6669XSEiIJKlt27aaM2eO2rRpI7vdLqniNpekoqIiLVmyRP3791ePHj00Z84cFRUVOT6Lkr+yJCYmatKkSZo+fbqio6MVFxenp59+2rGe/Px8zZ07V71791a/fv303HPPOV2VPnLkiKZMmaIrrrhCsbGxmjZtmo4fPy7p9Hl14MCBevXVVx37/TPPPKMvv/zScYXw/vvvd+xLlZ2jSo6hktfecsst+uWXXxzzKzo3GGP04osvqk+fPoqOjtbixYsdn6VU+TFWmtVq1bx589SvXz9dccUVeuCBB5SWluaYn5iYqH79+ql3796Kj4/Xl19+WWYdX3zxhe68805J0oABA/Tuu+9WsFfUnoEDB+qRRx5RbGyshg0bpvHjx+vhhx92WmbChAl6/vnnyz3GKtuvzjzGKto/Srz88svq16+f4uLi9NRTTzn2B5vNpsWLF+u6665TVFSUrrjiCj3++OOOC0e5ubmaN2+errjiCkVHR+uee+7RkSNHtGzZMq1bt07r1q1zXCRKS0vT9OnTFRsbqz59+uiRRx5xnH83b96sfv36adq0aYqOjtbLL79c4xxT2bakyr/DKvoeP9PPP/+s0aNHKyoqSjfeeKP+9re/1dpfXRITExUQEKBnn31WHTp0kI+Pj5o2baqHH35Y/fv3dxx71ckuJdatW6chQ4YoKipK1113nSPDVPb+S2e8oqIiPf/88+rXr5969OihW2+9VXv27JFU+bkkJSVF9957r3r27KkrrrhCjz76qGO/O9t3Tnl/gSp9Lj127Jjuvvtux3ueOHFimX29UqaKMjIyTHR0tHnppZeMzWYzW7duNT169DC33XZbVVdxVrfddptZunSp4+eCggKzcuVKc+WVV5qCggJjjDFz5841t99+u8nKyjLFxcXmk08+MREREebgwYOOdUyYMMFkZGSYnJwcM378ePPAAw+UWf+pU6fMgAEDzJIlS0x+fr5JTU01I0aMMEuWLDHGGLN27VoTERFh3nvvPVNQUGDy8vKcXl9ZHUuXLjUzZ840xhjz448/moiICDN58mSTk5NjDhw4YK688krz7LPPnvNnZowxAwYMMGvXrnX8bLPZzI8//mh69eplXn/9dcd779u3rzl69KjJysoyGRkZpnfv3mbRokUmLy/PHD9+3IwbN87ce++9xhhjUlJSTEREhElJSTHGGPPNN9+Ynj17mi1btpiioiLz1Vdfme7du5u9e/caY4yZOXOmGTp0qDl48KApKCgwq1atMlFRUebIkSPGGGMiIiLM0KFDzW+//WZycnLMvffea8aNG2eMMWbHjh2mW7duZseOHcYYY37//Xdz9dVXOz6ftWvXmt69e5tt27YZu91u3nnnHdOtWzdz8uRJs3btWjNgwADHe1+0aJEZNmyYOXz4sMnPzzeJiYlm4MCBJj8/31HHPffcY3Jzc01WVpbT6yuro+QzKVHRvnau0tLSTNeuXc2+fftMcXGxue6668w//vEPx/ySfap0XbfddptJT083x48fNzfffLOZPn26Meb0vtipUyfzr3/9yxQXF5tNmzaZTp06mW3bthljjLn77rvN9OnTTW5urikqKjKvvfaaiYyMNFar1fGZXX/99ebw4cMmOzvb3HvvvWb06NGOtjnzOKlsX6jOcbhp0ybTuXNn8/HHH5vCwkKza9cuExcXZ1auXGmMOb3fXXbZZebTTz81hYWF5v333zedO3c2hw4dMsYYc91115klS5YYm81mCgoKzPz5801cXJwxxpiTJ0+a3r17m8TERFNQUGAOHTpk4uLizOrVqx3v+8cffzTGGLN7924TGRlpPv30U1NUVGT+85//mJiYGLNhwwZHHd27dze//PKLycrKKvP6iuoo+UxKjuG1a9eaHj16mB9++MEUFRWZH374wfTo0cN89tln57pbGWOMGTdunPnTn/5kFi5caD7//HNz/PjxMstUpc1feuklU1hYaJKTk023bt3MunXrHJ9FybmvZN97//33TVFRkfnmm29Mp06dzPbt240xxjz88MPmpptuMqmpqcZqtZoZM2Y4PjebzWauvvpqM3XqVJOdnW2ysrLM1KlTzU033WQKCwsdx8CCBQuMzWYz33zzjYmIiDB33nmnyczMNIcPHza9evUy77//vqOuys5Ro0aNMsePHzfZ2dnmjjvuMOPHjzfGVH5uePfdd80f//hHs2vXLlNQUGCefvppExER4WjTqhxjJfvK/fffb8aPH2/S0tKM1Wo1c+bMMaNGjXIcu7GxsebYsWOmuLjYrF692sTExBibzWaMOf1dULKe0ueI2nDm98zZlrnxxhtNVlaWycrKMh9//LGJjo52fH+fOHHCdO7c2Rw+fLjM+67KflX6GKvq/jFt2jRjtVrNwYMHzZVXXmleeOEFY4wxL7/8srn++uvNsWPHjDHGbNu2zVx++eXmhx9+cGxvxIgRJjU11RQUFJhZs2aZkSNHOuaV7ON2u93cfPPNZsaMGSYnJ8dkZGSYCRMmOL4LSup44YUXjM1mMzk5OTXOMZVtq7L9tLLv8bVr1zqyXE5OjrniiivMc889ZwoKCsyePXtM//79nb5vz0VcXJyjLSpS3ezy448/mi5duphvvvnG2O128+2335rOnTub5OTkSt9/6e+mpUuXmiuvvNIkJyeboqIi89xzz5m4uDhTVFRU4bmksLDQXHXVVWbOnDnGarWatLQ0c+ONN5olS5ZU+J1T3vFaej978MEHzezZsx370J133mkef/zxan3mVQ767733nunbt68pLi52TJs/f36tBf0uXbqYnj17mp49e5pLL73UdOrUySngpKWlmZMnTxq73W5SU1PN119/bSIiIsyWLVvMb7/9ZiIiIsyvv/7qWP748ePlNuLHH39sYmNjnd7Hxo0bTVRUlDHm9A7fuXNnY7fbneoreX1FdRhTNuh36tTJZGRkONb1z3/+s9YOmAEDBpjIyEjH59azZ09z/fXXm+XLlzve32233WZmz57teM27775rYmNjTVFRkWNacnKyiYiIMMePHy8T9O+++25H+CoxdepUM2/ePJOfn286d+5svvnmG6f58fHx5qWXXjLGnD6hf/755455v/76q4mIiDBHjx41eXl5ju1kZmaaHTt2mFtuucXMmjXLUfvTTz/ttO7//Oc/Ji8vzymoFxcXm+7duzvCV8m0vn37mk8++cRRxwcffOCYX/r1ldVROuhXtq+dq2XLlpm77rrL8fNbb71lBg0a5Ngfywv6//vf/xzLb9y40XTp0sUUFBSYpUuXmiFDhjitPzY21vzrX/8yxhhz9OhRk5OTYwoLC83hw4fN22+/bSIiIpwCUOmQWdJ2KSkpZY6TquwL1TkOZ8yYYSZNmuS0rjfeeMNcc801xpjTJ8KEhASn+aNGjTJ/+9vfjDHGHD582BQUFJiCggLz66+/msTERNOpUydjTPnnsv3795vff//d8b5LQsjcuXPL/BL39NNPmwkTJjjquOOOO5zml359RXWUfCYlIWrMmDFm8eLFTutavHixI3Seq4KCAvPGG2+Y22+/3XTr1s1ERESYG264wem4qazNe/To4fS5jRo1yixbtszxWZQO+iVtVaJPnz7m/fffNzabzXTr1s1puzk5Oeayyy4zP/74o/nhhx/MZZddZnJycsrM3759u+MYSE9PN8YYU1RUVKbuMWPGmMTExCqfoz766CPHvLffftsMHDjQGFP5ueG2224zzzzzjOO1RUVFJiYmxtGmVTnGfvzxR5OWlmYiIiLM/v37HevKzc01l19+uUlKSjLbtm0zXbp0MYmJiWbXrl2mqKjIqR1cHfTP/J7p2bOn07llwIABZvny5Y6fCwoKTO/evc2///1vY4wxr732mlNWODPoV7ZflT7GqrJ/dOrUyfGLtzGnv3evvvpqY8zpdjxx4oQpLi42x44dMz/88IPjF8OCggLTpUsXs3HjRsdrs7KyzM6dOx21lOzjO3bsMJdffrnjlzZj/u94ycjIcLTD0aNHHfNrmmMq21Zl+2lF3+MlbVDSPh988IHp06ePUwZ64403ai23dOnSxbz99tuVLlfd7DJr1iwzdepUp3Xs2LHDZGdnV/r+S383DRgwwPzzn/90LFdQUGC2b99urFZrheeSzZs3m8svv9zk5uY65qWkpJhDhw5V+J1TWdB/+OGHzbXXXmvef/99c/ToUad2qaoq99E/duyYLrjgAvn4+DimtWvXTrt3767enxDO4s9//rOjj77dbtd3332nadOmSZJuu+02paena/78+fr555910UUXqUuXLpJO9z0t6QpSul9XixYt1KJFizLbOXLkiDIyMtSrVy/HNGOMCgsLlZ6e7nhtgwbl92qqqI7yhIaGqmnTpo6fL7jggur/2aUCc+fOrbTvZMuWLR3/T09PV5s2beTr6+uYdtFFF0k6/dlYLBan1x45ckRbtmzR6tWrHdPsdrv++Mc/KisrS4WFhY7Xl15f6W5dpee3adNG0un9qWnTpnr99de1bt06BQUFqVOnTrJarY4/oZ44ccKxfIkePXqUeX8ZGRnKzc3V5MmTndqtsLBQR44cKfdzKK1BgwYV1lFadfa16ioqKtI///lPZWdnKyYmRtLp/So7O1uff/6540/eZ/rDH/7g+P8FF1wgm82mzMxMSSrTR9ff39/RtSAlJUVPPvmkDh48qPbt2zvWU3pfLr3ukrYo+QxKHydV3RdKVHYcpqen67LLLiuzrtLteea2LrjgAkc3kz179ighIUEnTpzQJZdcombNmjntV2eeyy6++OIyNZbU+eOPPyo6OtoxzW63q127do6fz7ZfVVbHmdLS0tS2bdsy7/mrr7466/qrw9/fX7feeqtuvfVW2e127dmzR2+99ZbuvfderVu3zvEZVNTmoaGhTp+bn5+fU1eV0s48Jvz8/FRcXKzMzEzl5eU5HUPBwcGO82R6erqaNm2q4OBgp/lhYWFO56iS5UvOZSVdkqTTx7Qxpsr7ZenzXsOGDR1tVNm54fjx47rgggscr/X19XU6Z1XlGJPk2K9HjhzpNN3X11e//fabrr32WiUmJuof//iHXn31VQUEBGjs2LG67777zvpdVZuq+z3j7++vIUOG6IMPPtC1116r999/X+PHjz/rayvbr878Dqts/wgJCXHaH0qfG/Ly8jRv3jz99NNPat26tS6//HIZY1RcXKysrCzZbDanNgwJCVHXrl3L1Pzbb7/JbrerX79+TtP9/f2dRhc7s/aa5Jj169dXuK1LL720wv20ou/xMx09elRt2rRx2q/OPC+dixYtWpw1A2VkZCg0NNRxTFcnuxw/flyXX3650/oiIyMd86v6/s/MHf7+/urevbuOHz9e4bnkwgsvVNOmTRUYGFimvk8++eSs3zmVjeI0Z84cvfTSS1qxYoVmzZqlSy+9VHPmzHH6TqpMlYN+69atdeTIERUXFzt2gKNHj1Z5Q9Xh6+vr6Kf47bff6rbbbtPkyZM1cOBArVixQg0bNtTJkyf1zjvvSJLjRJuamqr27dtLkvbt26ePPvpIU6ZMKfM+2rVrp08++cQxzWq1Kj09Xc2aNZMkp8Y4U0V1lCcnJ0d5eXmOxv/tt9/KhFdXK/1+LrzwQqWmpsputzsOmJI73Vu0aFEmhLRu3VrDhg3Tn//8Z8e01NRUBQQEKCwsTI0aNVJKSoouueQSx/zDhw879ec7fvy4Lr30UklynAAvuugirVq1St9//73WrVvn+KIt6b8tnW7X33//3ameZ599tsxNtE2bNlWjRo302muvqXv37o7pv/76q1q1alXu51BaZXWUVp19rbo+//xz2Ww2ffzxx04ns+eff14rV648a9A/duyY46Tx22+/KTAw0OmXy/IUFhZqwoQJmjp1qsaMGSMfHx/t2rWrTJ/wY8eOKSIiwrFu6XT4O3DggNPnabFYqrQvlKjsOLzwwgvLjMCQkpLiFB7P/LJISUlR586ddezYMU2ePFkvvPCCY9uffvqpPvvsM8e2f//9dxljHO/hiy++kNVq1bBhw8rUedNNNzndaHr8+HGn4+Rs+1VldZzpoosuqvQ919Q777yjF154QV9//bV8fX3l6+urzp07a/78+friiy+0d+9exz5UUZvXhubNmysgIECpqamObebm5jpudLzwwgt18uRJWa1WR5jLycnRyZMnnc5RFZ2nS1R3vzxTZeeG1q1bO4U6Y4xjv6zqMSbJcZ7697//7dTe+/btU9u2bZWamqrmzZtrxYoVstls2rRpkyZOnKjOnTurf//+lb4PdzizPeLj4zVy5Eht375dv/3221nPX9Vdd1X2D6vVqtzcXAUFBUk6fRyVBOg5c+YoNDRU3333nRo1aqTi4mLHBYfmzZvL399fv//+u2PfTE9P1yuvvFJulggICNDmzZsd52ubzaaUlBT94Q9/0H/+858ytdc0x8TFxVW4rddee63S/fRs3+NnatOmjVJTU53Oj6mpqVVopaoZOHCgPvvsM913331O33PGGN19993q0qWL43xbnexywQUXlKmzJBNU5/2fmTsKCwv11FNP6a677qrwXNK6dWudPHnSKe9t3bpVu3btqvA7p+SXAZvNJn9/f0mn76kq+Q7/+eefNWrUKN1///3KyMjQsmXLNHHiRP34449V/syrfClg4MCBMsYoMTFRNptNu3btcumNPjt27NDmzZsdB2BOTo4CAgLk6+urjIwMPfHEE5JON0KrVq0UGxurJ598UtnZ2bJarXrqqaccJ2B/f3/HDRsDBgzQqVOn9Oqrr8pmsyk7O1szZ87UAw88UKUvjorqKI/dbtfixYtVUFCgX3/9VStWrNCIESPO+fOpqZIrAkuWLFF+fr5OnDih+fPn649//KMuvPBCNWrUSJIcN/mMHDlSr7/+uuOGk6SkJA0fPlwfffSRGjRooPj4eD3zzDM6dOiQbDab/v73v2vfvn1OQ1cmJibq2LFjysrK0qJFi3T11VerWbNmslqtatiwofz8/FRUVKQPPvhAGzdudHyWw4cP19tvv62dO3equLhYa9eu1ZtvvukI9nl5eSoqKlKDBg00YsQIPf300zp69KiKi4v1/vvva8iQIVUa87iyOkqrbF87F2+88YaGDh2qCy+8UK1bt3b8Gzt2rLZv365t27aV+7qnn35aVqtVx44d09KlS3XjjTfKz8+vwm0VFhYqPz9fAQEB8vHxUWpqqp566inHvBLLli3TiRMnlJ2drcWLF6tv375OvzyVqMq+UJ3jMD4+Xl999ZX+/e9/y2636+eff9Yrr7yi+Ph4xza//PJLffvttyosLNQ777yj/fv3a+jQoTp16pTsdrvjZLtv3z4tW7ZM0umTaf/+/VVUVKQXX3xRNptNhw8f1oIFC1RQUFCmzhEjRuijjz7Sd999p+LiYh08eFC33XabXnvttUrbs7I6zjRixAi9/fbb2rRpk+x2u3788Ue9/fbbTu+5pvr376+CggLNnTtXBw8elN1uV2ZmplauXClJ6t27t2PZqrZ5TZUcryXnhby8PC1cuNBxBbdr167q2LGj5s6dq5ycHOXk5OjRRx9Vu3btyv2LXmXbqso56mwqOzfcfPPNeuedd7R9+3YVFhbqb3/7m+PKbFWPMen0eaV///6aP3++Tp486VjXiBEjlJ2draSkJN19993as2eP/P391bx5c0mq9Bd6T7r88svVsWNHzZs3T4MHD3a60ln6GKuuquwfdrtdixYtUm5urvbv368VK1bolltukXS6TRs1aqQGDRrIarXqySeflNVqVWFhoRo0aKBhw4Y59s2CggI999xz+u9//6uAgACnuiMjI/WHP/xBixYt0qlTp5Sfn68FCxbojjvuOOtfuWqaYyrbVmX7aUXf42cqyXol58eS3FJbEhISlJWVpalTpzq+n48dO6aHHnpIR48e1d13313u6yrLLjfddJM+//xzx7l648aNSkxMVJMmTar1/ocPH64VK1bowIEDKioq0ksvvaQvvvhCzZo1q/BcEhkZqfbt22vx4sXKy8tTWlqaFi5cqIyMjAq/c9q1a6eGDRvq448/lnR68IfSIf7FF1/U448/LqvVqpCQkCpdyDtTlYN+SEiIVqxYoU2bNql3796aPXv2Of2GfqaXXnrJaXzeadOmady4cbrnnnskSQsXLtT69evVo0cPDR8+XK1atdLll1+uvXv3Sjrd+MHBwbruuus0aNAgNWvWTI899pgkadiwYVq7dq3GjBmj4OBgrVq1yjEizpVXXqkGDRpUeWzcyuooT2hoqAYNGqRx48bppptuOuuO7A5NmjTRypUrtXfvXvXr109DhgzRhRdeqOeff17S6StgV111lUaNGqXVq1fr2muv1dSpU/XQQw+pR48emjx5su644w7HmLsPPvig+vTpozvuuEMxMTH697//rRUrVqhDhw6Obfbt21cjR47U1VdfLYvFovnz50uSxo8frwsuuEADBgxQ37599eGHH2rMmDGOz3Lo0KG6//77NWPGDEVHR+vtt9/WK6+8ombNmqlXr15q3ry5evXqpV9++UUzZ85Ut27dNGbMGEVHR2vVqlVaunRpmT/llaeyOs5U0b5WU3v27NHWrVvL/fP45Zdfri5dupw1XLZr105DhgzRDTfcoKioKD300EOVbi8oKEgLFizQsmXLFBUVpXHjxik2NlYWi8XpfXfu3FljxozRwIEDFRISoiVLlpx1nZXtC9U5Drt166bnn39er7zyiqKjozVx4kSNHj3a6SrVoEGD9Morr6h379565513tGLFCrVq1UoXX3yxHnzwQc2YMUM9e/bU5MmTFR8fLz8/P+3du9fpXNanTx+NHTtWt9xyi0aNGiVJGjVqlKZNm6Znn31W3bp10zPPPKNnnnlGvXr10m233aaBAwc6uhVWpLI6znTdddfpr3/9q5544glFR0fr0Ucf1YMPPljmrww10bJlS8cITiUjP1xzzTXavn273nrrLcdfM6XqtXlNTZs2TRdffLEGDx6sa665Rq1bt1aDBg3k5+enhg0b6qWXXlJRUZGuueYaDRgwQIWFhVq5cqUaNqz+iNBVOUedTWXnhiFDhmjSpEl64IEH1Lt3b6WkpDhG0KjqMVbiySefVEhIiIYNG6Y//vGP+vbbb/Xqq6+qRYsWuuaaazR+/Hjdd9996t69uyZPnqyHHnpI3bp1q/bnURNz584tdxz9klFzzmb48OH6+eefy/yyWvoYq66q7B9hYWEKCwtTv379dNddd2nkyJGOZwrMmTNHe/bsUe/evXXttdfKarWqb9++jjaZNWuWunTpoptvvll9+/bVyZMnHd+PgwcP1rZt29S/f39HHWlpabr66qvVp08fHT58WCtXrnRcMDtTTXNMZduqbD+t7Hu8tKCgIC1fvlxffvmlevfuralTpyo2NrbSi0dV1axZM61Zs0ahoaG64447FBUVpREjRqioqEirV6926hZZWmXZpWfPnlq8eLEWL16s6OhoPfnkk3rmmWcUHh5erfd/9913a+jQobrrrrsUExOjrVu36pVXXpGfn1+F5xI/Pz+9+OKLOnbsmPr3768bb7xRvXr10qRJkyr8zmnZsqUeeughLV++XD169NAbb7zhlAPmzZun4uJiDRo0SL169dKOHTsc77nKqt2rHxUqb9Qd1G9njrpTV5x543RtK33DHFyj9M24dYG72nzLli1ON0vm5OSYiIgIc+DAAZdv2xuVvhm3Lvniiy/Mtdde6+kyUInSN+NmZGSYrVu3Os1//fXXzahRozxRGmqB6+/iAQCglNdee03z589Xfn6+CgoKtHTpUnXo0MHRNxn128mTJ7V792797W9/0+jRoz1dDqrBbrfr9ttv17fffivp9H06b731lgYMGODhylBT5/xk3JUrV2rp0qVnnd+lSxft2rXrrPMfe+yxOvuEUlf6y1/+oh9++OGs80vfSFSejz/+2O039eLs0tPTdeWVV551fukbiMrTs2dPr386H2pu+PDhZ70Ztri4WDabrdwby0rUtaf1Pvroo3rsscfUr18/2e129ezZUy+//LKny/I6nvqe2bVrlyZOnKg//elPjr7xqB8sFouee+45LVmyRFOmTFFISIhuuukm3XXXXeS9esrHmLOM9QYAAACg3qLrDgAAAOCFCPoAAACAFyLoAwAAAF6IoA8AAAB4IYI+AAAA4IUI+gAAAIAXIugDAAAAXoigDwAAAHghgj4AAADghf4fjaz4xBGmnZ0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae|g__Croceicoccus', y='median_mmNorm', data=erythrobacteraceae_genuses_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "43f452f1-712a-415d-bb7d-e0702f18eae5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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GWOc5tF1BwAAALWNoO8mc+bM0WWXXaZ+/fox8g4AAABcjqDvJsePH9c999wjPz8/T5cCAAAAH8CpZTfp37+/Nm7c6OkyAAAA4CM4o+8mEyZM0NixY9WhQweFhIQ4zVuxYoWHqgIAAIBVEfTd5KGHHlJMTIxiY2PpvgMAAACXI+i7yf79+7V161Y1bNjQ06UAAADAB9BH300uuOACpaSkeLoMAAAA+AjO6LvJRRddpAkTJujyyy9XWFiY07w77rjDM0UBAADAsgj6brJ161a1b99ev/32m9P0evXqeagiAAAAWBlB301eeeWVSpd54YUXdMstt7ihGgAAAFgdffTrkH//+9+eLgEAAAAWQdCvQ4wxni4BAAAAFkHQr0Porw8AAIDaQtAHAAAALIigDwAAAFgQQR8AAACwIIJ+HcLFuAAAAKgtBP065KqrrvJ0CQAAALAIbpjlJidOnNBrr72mffv2qbi42Gneo48+Kkm67777PFEaAAAALIgz+m5y7733asWKFcrPz/d0KQAAAPABnNF3ky1btmj16tVq06ZNtZ6fnp6uBx98UFu3bpWfn5+GDx+umTNnqkGDsptw1apVWr58uY4cOaKzzz5bEyZM0LXXXlvTJgAAAMCLEPTdpFGjRmrRokW1nz9t2jS1aNFCmzdvVlpamm677TYtX75cN910k9Nyn376qZ566im9+OKL6tatm3788UfdcsstCg8P18CBA2vaDMCtMnPsSrPZlZVXoJDAhgpv7K/QIH9PlwUAgFeg646bjB07VvPnz1dGRsYZP3f//v3aunWrZsyYocDAQLVp00aTJ0/Wq6++WmbZw4cP6+abb1Z0dLTq1aunmJgY9erVS999911tNANwm9Tjubpj1TYNeGqjrlzytQY8uVF3rtqm1OO5ni4NAACvwBl9N3nzzTeVmpqqVatWlZm3Y8eOCp+bnJyssLAwp18Ezj//fKWmpiorK0shISGO6ad20UlPT9d3332ne++994zqLSoqOqPlz2Sdrlh3XeNLbZVqv71ZeYWauWa7NienOU3flJymWWu265mroxUS4JnDly9tW19qq+Rb7aWt1mP19qF6CPpuMn/+/Go/98SJEwoMDHSaVvI4JyfHKeiXdvToUU2aNEldunTR0KFDz+g1k5KSqlesh9dd1/hSW6Xaa2/A2e3KhPwSm5LTlJph094j+2rl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LrvsMn388cfaunWr7r///jN6TT8/v1o5IDYPbqTYv5ylZz/fXWZe34hwNQ9uZOkDb229j97Cl9pLW63Ll9pLWwFr42JcL7Fw4UIVFhZqwIABGj16tPr06aPJkydLkmJiYvTee+9JOnmR7uLFi/X888+rZ8+eWrJkiRYtWqT27dt7pO7QIH/NT4xS34hwp+l9I8K1IDFKoUH+HqkLAADA6jij7yXCw8O1cOHCcudt27bN6XGfPn3Up08fd5RVJa3DArXomhgdteUrIytXTUMC1Ty4ESEfAADAhTijD7cIDfJX+2ZB8stMUftmQYR8AAAAFyPoAwAAABZE0AcAAAAsiKAPAAAAWBBBHwAAALAggj4AAABgQQR9AAAAwIII+gAAAIAFEfQBAAAACyLoAwAAABbUwNMFoG4xxkiSioqKan3dJet0xbrrGl9qq+Rb7aWt1uVL7aWt1lPSvpLvcUCS6hn2CJRit9uVlJTk6TIAAEA1dO3aVf7+/p4uA3UEQR9OiouLVVhYqPr166tevXqeLgcAAFSBMUbFxcVq0KCB6tenZzZOIugDAAAAFsSffAAAAIAFEfQBAAAACyLoAwAAABZE0AcAAAAsiKAPAAAAWBBBHwAAALAggj4AAABgQQR91Kr09HRNnjxZsbGx6tWrl+bOnavCwsJyl924caOGDRum6OhoDRo0SF988YWbq62ZnTt36oYbblBcXJzi4+P197//XRkZGeUue9NNN6lr166KiYlx/Nu0aZObK66+9evXq1OnTk71z5gxo9xlvX27vvfee07tjImJUZcuXdSlS5dyl/fWbZuRkaFLL71UW7ZscUz76aefdNVVVykmJkYJCQl66623KlzHiy++qL59+yo6Olrjx4/X3r17XV12tZXX3o8++khXXHGFunfvroSEBD377LMqLi4u9/nFxcWKiYlRdHS007bOyclxVxOqrLy2zp49W126dHGq/Y033jjtOrxl257a1oceeqjM5/eCCy7QjTfeWO7zvWm7AtVigFo0btw4M336dJOTk2MOHDhghgwZYl588cUyy/3++++ma9eu5pNPPjEFBQXmgw8+MFFRUebQoUMeqPrM5ebmmvj4ePPMM8+Y/Px8k5GRYW6++WYzadKkcpfv1auX2bJli5urrD3z5883s2bNqnQ5b9+u5Tl06JCJj48377zzTrnzvXHbfv/99+aSSy4xkZGR5ttvvzXGGHP8+HETFxdnVq5caQoKCszXX39tYmJizE8//VTuOt5++23Tp08fs2vXLpOXl2ceffRRM2TIEFNcXOzOplRJee1NSkoyUVFR5vPPPzdFRUVm9+7dpn///mbp0qXlruO3334znTt3Nvn5+e4s/YyV11ZjjLnyyivN22+/XaV1eMu2PV1bS9u8ebOJi4szu3btKne+t2xXoLo4o49as3//fm3dulUzZsxQYGCg2rRpo8mTJ+vVV18ts+zatWsVGxurSy65RA0aNNDgwYPVs2fPCs8w1SWpqan661//qttvv13+/v4666yzNGbMGH333Xdllk1JSVFmZqY6derkgUprR1JS0mnPaJfm7dv1VMYYzZgxQxdffLGuuOKKMvO9cduuXbtW99xzj+666y6n6R9//LHCwsJ07bXXqkGDBrrooos0bNiwcj+/kvTmm29q7NixioiIUKNGjTR9+nSlpqY6nUWuC07X3oMHD+rqq69W//79Vb9+fZ1//vm69NJLy/0MSyc/Ax07dpS/v787yq6W07XVbrdr165dVfoMS96xbU/X1tIyMjJ0zz336P7771dERES5y3jDdgVqgqCPWpOcnKywsDC1aNHCMe38889XamqqsrKynJbdvXu3IiMjnaZ16NBBO3fudEutNXXeeefppZdekp+fn2PaRx99pM6dO5dZNikpSY0bN9Zdd92lCy+8UEOHDtXq1avdWW6NFBcX65dfftGGDRvUv39/9e3bVw8++KAyMzPLLOvt2/VU7777rnbv3q1Zs2aVO98bt23v3r31ySefaPDgwU7Tk5OTz2jbnbqtGzZsqHbt2tW5bX269g4cOFD33nuv43FeXp42bNhQ7mdYOrmt8/PzlZiYqAsvvFDXXnutfvjhB5fWfqZO19adO3eqsLBQCxcu1N/+9jcNHDhQL7zwwmm7KXnDtj1dW0t74okn1KVLFw0fPvy0y3jDdgVqgqCPWnPixAkFBgY6TSt5fGp/x/KWDQgI8Mp+kcYYPf300/riiy90//33l5lvt9sVHR2tu+66S5s3b9asWbM0d+5cffjhhx6o9sxlZGSoU6dOGjhwoNavX6/XX39d+/btK7ePvpW2a3FxsZ577jndeuutCg4OLncZb9y2zZs3V4MGDcpMP9Nt5y3b+nTtLc1ms+n2229XQECArr/++nKXCQgIUFRUlJYsWaINGzYoISFBN954o1JSUlxQdfWcrq3Z2dmKi4vT+PHjtXHjRj3++ON65ZVX9PLLL5e7Hm/YtpVt15SUFL333nuaPn16hevxhu0K1ETFRz/gDAQFBSk3N9dpWsnjxo0bO00PDAxUXl6e07S8vLwyy9V1NptN9957r3755RetXLlSHTt2LLPMiBEjNGLECMfj3r17a8SIEfrwww81aNAgN1ZbPeHh4U7dNwIDAzVjxgyNHj1aNpvNKQRbZbtK0pYtW3TkyBGNGjXqtMt4+7YtLTAwUNnZ2U7TKtp2VtnWe/fu1ZQpU9SsWTOtWLHitH/Unfqrzo033qi3335bGzdu1Lhx49xRarXFx8crPj7e8TgqKkrXXXed1q9fr5tuuqnM8lbYtmvWrHFciFsRb96uQFVwRh+1JiIiQsePH1daWppj2p49e9SyZUs1adLEadnIyEglJyc7Tdu9e/dp+1HWRQcOHFBiYqJsNptWr15dbsiXpNWrV5c5w2u329WoUSN3lFljO3fu1BNPPCFjjGOa3W5X/fr1y/RrtcJ2LfHRRx/p0ksvVVBQ0GmX8fZtW9qZbruIiAin5QsKCrRv374y3X/qso0bN+qqq65Snz59tHTpUoWGhp522aefflq//vqr0zRv2daffvqpXn/9dadpdrtdAQEB5S5vhW378ccfl3tdzam8ebsCVUHQR61p166devTooXnz5slmsyklJUVLliwp94zo8OHDtXXrVq1fv16FhYVav369tm7dWqUDc12QmZmp6667Tt27d9fSpUvVtGnT0y5rs9n0j3/8Q7/++quKi4u1YcMGvf/++xozZowbK66+sLAwvfrqq3rppZdUWFio1NRUPf7447ryyivLBH1v366l/e9//1PPnj0rXMbbt21pl156qdLS0rR8+XIVFBTo22+/1bp165SYmFju8omJiVq5cqV27typ/Px8PfnkkwoPD1dsbKybK6+eH3/8UbfffrvuvfdezZw5s9LuPbt27dLcuXN19OhR2e12Pfvss7LZbLr00kvdVHH1GWP06KOP6ptvvpExRtu2bdOKFStOu596+7Y9duyY9uzZU+nnV/Lu7QpUiUfH/IHlHD161Nx5550mLi7OXHjhhWb+/PmmsLDQGGNMdHS0effddx3Lbtq0yQwfPtxER0ebIUOGmA0bNniq7DP28ssvm8jISNOtWzcTHR3t9M8Y57YWFxebxYsXm/79+5uoqCgzZMgQ8+GHH3qy/DO2ZcsWM2bMGBMTE2MuvPBC849//MPk5eUZY6y1XUuLjo4ut3YrbdtThyXcvn27YzsPGDDArFmzxjHvu+++M9HR0ebgwYPGmJNtX7p0qUlISDDR0dFm/PjxZu/evW5vw5ko3d5JkyaZjh07lvn83njjjcaYsu09duyYmTVrlrnooosc7d2xY4fH2lKZU7ftqlWrzGWXXWa6detmBgwYYFauXOmY5+3btrz9ODIy0uTm5pZZ1tu3K3Cm6hlT6vd4AAAAAJZA1x0AAADAggj6AAAAgAUR9AEAAAALIugDAAAAFkTQBwAAACyIoA8AAABYEEEfAAAAsCCfCPpFRUVKSUnxdBle48iRI8rJyfF0GZXat2+fp0vAGfCWz2F2drYyMjI8XQZgWd78Gdu/f7+nS8ApvOW7pTzuyDE1CvqLFi3S+PHja1zE+PHj1aVLF8XExCg6OloxMTG66qqrtHXr1hqvW5LuuusuvfPOO9V+/k033aR///vfVVp20aJFmjVrVrVf60wkJCSoa9euiomJcbx3vXv31oIFC1RcXFytdaalpWngwIG1dhDu2LGjtmzZUivrKu3zzz/XjTfeWO3nv/feexoyZEiVlv3jjz/UsWPHar9WdYwaNUpdu3bV0aNHnaZv2bKlyrXU1uezttT0c1jarFmzXPY5u/TSS5WcnFzt58fExOj777+v0rLjx4/X22+/Xe3XOhN//vmnZsyYob/97W+Kjo5W//799Y9//ENZWVlVev7bb7+thISE085/6KGH9NBDD9VWuV4rISGhytu0to6PCQkJjvXk5OToxhtvVLdu3XTttdfWyrpLf8+U/lfV/fxUpT9jle1XZ+pMjpFnasGCBXruuedcsm5Pevvtt932XTFr1ix17ty53P2pqjnrVKW/W0q+r//4449aq7mu5piqauDyV6iiSZMm6c4775QkFRQU6KWXXtJtt92mDRs2qEmTJjVa97Fjx2r0/JdeeqlGz3elRx55RCNHjnQ8/u2333T99dcrMDBQU6ZMOeP15eXlecXZ/OPHj6smN3UePny4hg8fXosV1Z6ffvpJhw4dUt++fbVy5Urdddddni6pVtT0c+guNa1z27ZttVRJ7SkuLtbEiRMVHx+v//73vwoJCVFKSoruu+8+TZkyRcuXL6/xa8yZM6fmhaLGduzYoS+//FJbtmxRWFhYrazz1O+ZmvKWY8GpvLXuumbYsGGaP39+ra3PW7dLTXNMVZ3RGf0ffvhBiYmJio6O1tVXX12rfzGV1rBhQ40fP142m02///67JMlms+mBBx7QZZddpujoaPXp08fpr7+MjAzdc8896tmzp3r16qW77rpLmZmZuv/++/X999/r+eef16233ipJOnDggG699Vb16tVL/fv319NPPy273S7p5F+2I0eO1MSJExUbG6t169Zp/PjxWrRoUZXqKG3Lli3q27evnnnmGfXq1Uu9evXS3LlzHa/lCh07dlTPnj3166+/Sjp5xnDWrFnq37+/Lr74YtlsNv3222+6+eabFRcXp759++rhhx9Wdna2ioqKNHToUEnS0KFDtX79eknSBx98oGHDhqlHjx4aOXKkvvzyS8fr5eXl6bHHHlO/fv3Us2dPjR8/Xtu3b3eq6csvv9SgQYPUq1cvTZkyxeks9erVqzVy5Ej16tVLMTExmjRpktOvCf/5z3906aWXKiYmRiNHjtQ333yjLVu2aPbs2UpNTVVMTIwOHz4su92uZ555RgMGDFBcXJxuvvlmp59YO3bsqH/+85/q1auXbr311jJnkSqro7TT7Wu1ZeXKlbr88ss1duxYvf7668rNzS13uZIzF6+88ori4+PVo0cPzZgxQzabzbHMiRMn9MADD6h3797q1auXnn76ace8w4cPa9q0aUpISFC3bt00YMAArV692jG/Y8eOeumll3TxxRc73pPDhw9LKv9zUtG+cKafQ0n69NNPNXLkSHXv3l0DBw7U8uXLnX6pysjI0G233aaePXtqxIgR2rRpk2Penj17NGnSJF188cWKiorS4MGD9cUXXzjm//LLLxo/frxiYmLUu3dvPfPMMzLGaODAgZKkm2++WS+++KIk6euvv9aoUaMUGxurIUOG6L333nOsZ9asWZoyZYoGDRqkCy+8UAcOHHA6+1NZHad66623NGTIEHXv3l3Dhg1zeq2aOHbsmPbu3ashQ4YoJCREktSmTRs98MADat26tYqKiiRVvM0lqbCwUE888YQuvvhide/eXQ888IAKCwsd70XJryyLFi3SlClTdM899yg2NlZ9+/bVk08+6VhPXl6eZs+erbi4OPXr10//+te/nM5KHzx4UNOmTdNF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rfC1Xn755Ur309N9j5+qdevWSk1NdTo+pqamVmEr1a5T96eEhATNnj1bX331lT788EM988wztbLuqh4j6nqOqUiVTwUkJCTIGKNFixbJbrfr559/dumFPj/99JO2bNni+ABmZ2crICBAfn5+ysjI0D//+U9JJw+mLVq0UHx8vB577DFlZWXJZrPp8ccfd2wMf39/ZWdnSzp5gdKJEyf00ksvyW63KysrSzNnztRdd91VpTewojrKU1RUpAULFig/P1979+7V0qVLNWrUqBq/P9VVckbgiSeeUF5eno4ePaq5c+fqwgsv1DnnnKNGjRpJkuMin9GjR2vFihWOC1OSkpI0cuRIvf/++6pfv74SExP11FNPaf/+/bLb7frPf/6j3bt3Ow1duWjRIh0+fFiZmZmaP3++LrvsMjVt2lQ2m00NGjRQw4YNVVhYqHfffVebN292vJcjR47UG2+8oe3bt6u4uFhr1qzRq6++6vhA5ObmqrCwUPXr19eoUaP05JNP6tChQyouLtbatWs1dOjQKo15XFkdpVW2r9XEypUrNWzYMJ1zzjlq2bKl49/48eO1bds2/fDDD+U+78knn5TNZtPhw4e1cOFCXXHFFWrYsGGFr1VQUKC8vDwFBASoXr16Sk1N1eOPP+6YV2Lx4sU6evSosrKytGDBAvXp08fpoFOiKvvCmXwOExMT9fnnn+vDDz9UUVGRfv31V7344otKTEx0vOZnn32mjRs3qqCgQG+++ab27NmjYcOG6cSJEyoqKnL8cb17924tXrxY0skvx4svvliFhYX697//LbvdrgMHDmjevHnKz88vU+eoUaP0/vvv68svv1RxcbH27duncePG6eWXX650e1ZWx6lGjRqlN954Q998842Kior07bff6o033nBqc3VdfPHFys/P1+zZs7Vv3z4VFRXp+PHjWrZsmSQpLi7OsWxVt3l1lXxeS44Lubm5evTRRx1n3Lp27aoOHTpo9uzZys7OVnZ2th5++GG1bdu23DNhlb1WVY5Rp1PZseGqq67Sm2++qW3btqmgoEDPPfec48xsVT9j0snjysUXX6y5c+fq2LFjjnWNGjVKWVlZSkpK0k033aSdO3fK399fzZo1k6RK/6D3pE6dOqlDhw6aM2eOBg8e7PgcSM6fsTNVlf2jqKhI8+fPV05Ojvbs2aOlS5fq6quvlnRymzZq1Ej169eXzWbTY489JpvNpoKCAtWvX18jRoxw7Jv5+fn617/+pR9//FEBAQFOdUdFRekvf/mL5s+frxMnTigvL0/z5s3T9ddff9pfuaqbYyp7rcr204q+x09VkvVKjo8lucXTGjZsqOHDh+uZZ55RcHCw06+sNdmfrJJjKmxjVRcMCQnR0qVL9c033yguLk73339/jf5CP9Xzzz/vNJ7q9OnTNWHCBN18882SpEcffVTr169X9+7dNXLkSLVo0UKdOnXSrl27JJ0MrsHBwRo0aJAGDBigpk2b6pFHHpEkjRgxQmvWrNHYsWMVHBys5cuXO0bEueSSS1S/fv0qj41bWR3lCQ0N1YABAzRhwgRdeeWVuummm2r4blVfkyZNtGzZMu3atUv9+vXT0KFDdc455zj+Og4PD9ell16qMWPGaNWqVbr88st1991367777lP37t01depUXX/99Y4xd//+97+rd+/euv7669WrVy99+OGHWrp0qdq3b+94zT59+mj06NG67LLLFB4errlz50qSJk6cqFatWql///7q06eP3nvvPY0dO9bxXg4bNkx33nmnZsyYodjYWL3xxht68cUX1bRpU/Xs2VPNmjVTz5499dtvv2nmzJnq1q2bxo4dq9jYWC1fvlwLFy5Up06dKn1PKqvjVBXta9W1c+dOff/99+X+PN6pUyd16dLltOGybdu2Gjp0qIYPH66YmBjdd999lb5eUFCQ5s2bp8WLFysmJkYTJkxQfHy8wsPDndrduXNnjR07VgkJCQoJCdETTzxx2nVWti+cyeewW7dueuaZZ/Tiiy8qNjZWd9xxh6655hqnMyUDBgzQiy++qLi4OL355ptaunSpWrRoofPOO09///vfNWPGDPXo0UNTp05VYmKiGjZsqF27djkdy3r37q3x48fr6quv1pgxYyRJY8aM0fTp0/X000+rW7dueuqpp/TUU0+pZ8+eGjdunBISEhzdCitSWR2nGjRokO69917985//VGxsrB5++GH9/e9/L/MrQ3WcffbZjhGcSkYbGjhwoLZt26bXXnvN8WumdGbbvLqmT5+u8847T4MHD9bAgQPVsmVL1a9fXw0bNlSDBg30/PPPq7CwUAMHDlT//v1VUFCgZcuWqUGDMx8RuirHqNOp7NgwdOhQTZkyRXfddZfi4uKUkpLiGMO9qp+xEo899phCQkI0YsQIXXjhhdq4caNeeuklNW/eXAMHDtTEiRN12223KTo6WlOnTtV9992nbt26nfH7UR2zZ88ud9zzklFzTmfkyJH69ddfy/yxWvozdqaqsn+EhYUpLCxM/fr104033qjRo0c77inwwAMPaOfOnYqLi9Pll18um82mPn36OLbJrFmz1KVLF1111VXq06ePjh075vh+HDx4sH744QddfPHFjjrS0tJ02WWXqXfv3jpw4ICWLVvmOGF2qurmmMpeq7L9tLLv8dKCgoK0ZMkSffbZZ4qLi9Pdd9+t+Pj4Sk8enYl169aVuz9VNpJMyf506vdk6e+W6rBCjqnQGffqR4XKG3UH3u3UUXfqilMvnK5tpS+Yg2uUvhi3LnDXNt+6davTxZLZ2dkmMjLS/P777y5/bSsqfTFuXfLpp5+ayy+/3NNloBKlL8bNyMgw33//vdP8FStWmDFjxniiNCfHjh0zXbp0cbrAGZVz/VU8AACU8vLLL2vu3LnKy8tTfn6+Fi5cqPbt2zv6JsO7HTt2TDt27NBzzz2na665xtPl4AwUFRXpuuuu08aNGyWdvE7ntddeU//+/T1Wk91uV3Jysp588kn169evVrsS+oIa3xl32bJlWrhw4Wnnd+nSRT///PNp5z/yyCN19g6lrnT77bfr66+/Pu380hcSleeDDz5w+0W9OL309HRdcsklp51f+uLn8vTo0aNO34EZnjVy5MjTXgxbXFwsu91e7oV1Jera3XoffvhhPfLII+rXr5+KiorUo0cPvfDCC54uy3I89T3z888/64477tDf/vY3R994eIfw8HD961//0hNPPKFp06YpJCREV155pW688UaP5T273a6rr75arVq1Ou0NSnF69Yxxw/13AQAAALgVXXcAAAAACyLoAwAAABZE0AcAAAAsiKAPAAAAWBBBHwAAALAggj4AAABgQQR9AAAAwIII+gAAAIAFEfQBAAAAC/p/djq9If1Nou8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae|g__Erythrobacter', y='median_mmNorm', data=erythrobacteraceae_genuses_v9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "92882532-76f4-46d5-8765-8d8351b58403",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Kf2PGTPG/POf/zTZ2dkmNzfXTJw40dx6660e03+pAwcOmNjYWPPBBx94XO+oX9hjAEvs3r1b69at07Rp0xQYGKhWrVopISFBS5Yssbq0GvP+++/r7rvv1p133uk2/PPPP1dYWJiuv/56NWjQQJdccomGDBlyxrwWqampuvDCC/XPf/5Tfn5+OuusszRy5Ej9/PPPZ3zvktS4cWP98MMPGjZsmLy8vJSVlaXCwkI1btzYI/qXju4x+fzzz3X55Ze7hnlK78nJya5fiY/lCf3/+uuv2rRpkxITExUSEqLg4GD961//0t133+0R/ZcyxmjatGnq3bu3rr76ao/qHfUPwQCWSElJUVhYmJo3b+4adsEFFyg1NVU5OTkWVlZzevTooS+++EIDBw50G56SkqKIiAi3YW3bttXWrVtrs7wac/7552vhwoXy8fFxDfvss8/Uvn37M773UsHBwZKkXr16aciQIWratKmGDRvmEf1nZGRo5syZevLJJxUYGOga7gm9l5SU6LffftO3336rPn36KC4uTvfff7+ys7M9ov/Nmzerbdu2euedd3TZZZepR48emjdvnpo2beoR/Zf68MMPtWPHDtdhdJ7UO+ofggEsceTIEbeNBEmuv/Py8qwoqcY1bdpUDRo0KDO8vNciICDgjHwdjDF6+umn9c0332jmzJke1bt09FfiVatWydvbW5MmTTrj+y8pKdG0adN044036sILL3Qbd6b3Lh09n+jiiy/WgAEDtHLlSr311lvatWuXpk2b5hH9Z2dna9u2bdq1a5fef/99ffDBB0pLS9P06dM9on/p6GfghRde0G233eb6gcBTekf9RDCAJYKCgpSfn+82rPTvhg0bWlGSZQIDA10nopYqKCg4414Hu92uSZMmacWKFXrjjTfUrl07j+m9VEBAgJo3b65p06Zp9erVZ3z/L730kvz8/DR27Ngy48703iXJZrNpyZIlGj58uAIDA9WyZUtNmzZNq1atkjHmjO/fz89PkjRz5kwFBwfLZrNpypQp+u677zyif0lau3atDh48qOHDh7uGecKyj/qLYABLhIeHKysrS+np6a5hO3fuVIsWLdSoUSMLK6t9ERERSklJcRu2Y8cOhYeHW1RR9duzZ4/i4+Nlt9u1bNkytWvXTpJn9L5hwwZdccUVcjgcrmEOh0O+vr5q27btGd3/hx9+qHXr1ikqKkpRUVH6+OOP9fHHHysqKsoj3vutW7fqiSeekDHGNczhcMjb21udOnU64/tv27atSkpKVFRU5BpWUlIiSbrooovO+P6lo4dNXnbZZQoKCnIN84RlH/UXwQCWOO+889StWzfNnTtXdrtde/fu1YIFC9x+VfEUl112mdLT07V48WIVFRXpp59+0ooVKxQfH291adUiOztb//jHP9S1a1e9+uqraty4sWvcmd67JLVr104FBQV68skn5XA4tH//fs2bN0/Dhw/XgAEDzuj+P/30U23YsEHr16/X+vXrNXjwYA0ePFjr16/3iPc+LCxMS5Ys0cKFC1VcXKzU1FQ9/vjjuuaaa874916SLr30UrVq1Ur33Xefjhw5oszMTD399NPq37+/Bg8efMb3L0m//PKLunfv7jbME5Z91F9e5tifMoBalJ6ertmzZ2vt2rXy9vbW0KFDdffdd7udpHqmateunV5//XXFxMRIOnrlkjlz5mj79u1q3LixEhISNGzYMIurrB6LFi1SYmKiAgMD5eXl5TZu48aNZ3TvpXbs2KG5c+cqOTlZjRo10pAhQ1xXafKE/kuVnnyZmJgo6cxe7kutW7dOTz31lLZv3y5/f38NGjRI06ZNk7+/v0f0n5aWpsTERP38888qLCxU3759NXPmTIWEhHhE/5GRkXrmmWfUq1cvt+Ge0DvqJ4IBAAAAAA4lAgAAAEAwAAAAACCCAQAAAAARDAAAAACIYAAAAABABAMAAAAAIhgAAAAAkIcEA6fTqb1791pdRr1x8OBB5eXlWV1GpXbt2mV1CTgJ9eVzmJubq8zMTKvLAM5Y9fkztnv3bqtLgIeqre/Q0woGSUlJGjt27GkXMXbsWHXo0EGRkZHq0qWLIiMjde2112rdunWnPW1JuvPOO/XBBx+c8vNvvvlmvfjii1V6bFJSkuvunjWtb9++6tixoyIjI12vXY8ePTRv3jyVlJSc0jTT09M1YMCAaltpt2vXTmvXrq2WaR3r66+/1k033XTKz//oo480aNCgKj123759ateu3SnP61QMHz5cHTt21KFDh9yGr127tsq1VNfns7qc7ufwWDNmzKixz9lll12mlJSUU35+ZGSk1q9fX6XHjh07Vu+9994pz+tk/PXXX5o2bZouvfRSdenSRX369NG//vUv5eTkVOn57733nvr27XvC8Q888IAeeOCB6iq33urbt2+V39PqWj/27dvXNZ28vDzddNNN6ty5s66//vpqmfax3zPH/qvqcn68Yz9jlS1XJ+tk1pEna968eXrhhRdqZNpWeu+992rtu2LGjBlq376923LUvXt33XHHHTUWFmvzu7C6l+djVed3aEUa1PgcqmjChAm64447JElFRUVauHChbr/9dn377bdq1KjRaU378OHDp/X8hQsXntbza9LDDz/sdhv1bdu26YYbblBgYKAmTZp00tMrKCioF3sLsrKydDo37b7qqqt01VVXVWNF1WfTpk06cOCA4uLi9MYbb+jOO++0uqRqcbqfw9pyunVu3LixmiqpPiUlJRo/frxiY2P16aefKiQkRHv37tV9992nSZMmafHixac9j9mzZ59+oThtW7Zs0Zo1a7R27VqFhYVVyzSP/545XfVlXXC8+lp3XTNkyBAlJia6/s7MzNQ///lPTZo0SW+88YaFldVttbX8ndQegw0bNig+Pl5dunTRddddp3379tVIUb6+vho7dqzsdrv+/PNPSZLdbtesWbN0+eWXq0uXLurZs6fbr/iZmZm6++671b17d8XExOjOO+9Udna2Zs6cqfXr1+ull17SbbfdJknas2ePbrvtNsXExKhPnz56+umn5XA4JB1Ne8OGDdP48eMVFRWlFStWaOzYsUpKSqpSHcdau3at4uLi9OyzzyomJkYxMTGaM2eOa141oV27durevbt+//13SUd/kZwxY4b69Omj3r17y263a9u2bbrlllsUHR2tuLg4PfTQQ8rNzZXT6dTgwYMlSYMHD9bKlSslSZ988omGDBmibt26adiwYVqzZo1rfgUFBXrsscfUq1cvde/eXWPHjtXmzZvdalqzZo2uvPJKxcTEaNKkSW6/gi9btkzDhg1TTEyMIiMjNWHCBLdfDf7973/rsssuU2RkpIYNG6Yff/xRa9eu1YMPPqjU1FRFRkYqLS1NDodDzz77rPr166fo6Gjdcsstbrt827Vrp0ceeUQxMTG67bbbyqT6yuo41omWteryxhtv6IorrtDo0aP11ltvKT8/v9zHle7J+M9//qPY2Fh169ZN06ZNk91udz3myJEjmjVrlnr06KGYmBg9/fTTrnFpaWmaMmWK+vbtq86dO6tfv35atmyZa3y7du20cOFC9e7d2/WapKWlSSr/c1LRsnCyn0NJ+vLLLzVs2DB17dpVAwYM0OLFi932hGVmZur2229X9+7dNXToUK1atco1bufOnZowYYJ69+6tTp06aeDAgfrmm29c43/77TeNHTtWkZGR6tGjh5599lkZYzRgwABJ0i233KJXXnlFkvTDDz9o+PDhioqK0qBBg/TRRx+5pjNjxgxNmjRJV155pf7+979rz549br8CV1bH8d59910NGjRIXbt21ZAhQ9zmdToOHz6sP/74Q4MGDVJISIgkqVWrVpo1a5Zatmwpp9MpqeL3XJKKi4v1xBNPqHfv3uratatmzZql4uJi12tRuhcnKSlJkyZN0t13362oqCjFxcXpySefdE2noKBADz74oKKjo9WrVy8988wzbr9679+/X1OmTNEll1yi2NhYTZ06VQcPHpR0dL3at29fLVy40LXcP/XUU/rqq680YMAARUZG6o477nAtS5Wto0o/Q6XPve6667Rt2zbX+IrWDcYYvfjii+rRo4eioqI0b94812spVf4ZO5bdbtfs2bPVq1cvXXLJJbrzzjuVnp7uGp+UlKRevXopOjpa8fHx+uqrr8pM48svv9SNN94oSerTp4/efffdCpaK6tO3b1898MADio2N1dChQzV+/Hjdf//9bo+ZMGGCnn322XI/Y5UtV8d/xipaPkq9/PLL6tWrl+Li4vT444+7lgeHw6F58+bpyiuvVGRkpC655BL961//cv3QlJeXp9mzZ+uSSy5RVFSUbrnlFu3fv1/PP/+8VqxYoRUrVrh+VEpPT9fdd9+t2NhY9ejRQw888IBr/bt27Vr16tVLU6dOVVRUlF5++eVT3o6pbF5S5d9hFX2PH+/333/XqFGjFBkZqauvvlovvPBCjf0KLkmNGzfWoEGD9Ntvv7mGVbQuPH67Ztu2baf8Xfi///1PF110kQ4cOOB6bHJysrp06SK73X5S21CliouLNW/ePF166aXq37+/Fi5c6Fq+rNyWrTJTRZmZmSYqKsq89NJLxuFwmPXr15uuXbuaMWPGVHUSJzRmzBgzf/5819+FhYVm0aJFpn///qawsNAYY8yDDz5o/vGPf5js7GxTUlJiPv30UxMREWF27drlmsaECRNMZmamyc3NNePHjzd33nlnmekfOXLE9OnTxzzxxBOmoKDApKammuHDh5snnnjCGGPM8uXLTUREhHnvvfdMYWGhyc/Pd3t+ZXXMnz/fTJ8+3RhjzE8//WQiIiLM5MmTTW5urvnzzz9N//79zdNPP33ar5kxxvTp08csX77c9bfD4TA//fST6d69u3n99dddvffs2dMcOHDAZGdnm8zMTBMdHW0SExNNfn6+OXjwoBk3bpy57bbbjDHG7N2710RERJi9e/caY4z59ttvTbdu3cy6detMcXGx+frrr02XLl3M9u3bjTHGTJ8+3QwZMsTs2rXLFBYWmsWLF5vIyEizf/9+Y4wxERERZsiQIWbfvn0mNzfX3HbbbWbcuHHGGGM2bdpkOnfubDZt2mSMMeavv/4yl19+uev1Wb58uYmOjjYbNmwwTqfTvPPOO6Zz587m8OHDZvny5aZPnz6u3hMTE83QoUPNnj17TEFBgUlKSjJ9+/Y1BQUFrjpuueUWk5eXZ7Kzs92eX1kdpa9JqYqWtdOVnp5uOnbsaHbs2GFKSkrMlVdeaf7zn/+4xpcuU8fWNWbMGJORkWEOHjxorr32WnP33XcbY44ui+3atTMffPCBKSkpMT/++KNp166d2bBhgzHGmJtvvtncfffdJi8vzxQXF5vXXnvNdOrUydjtdtdrNmjQILNnzx6Tk5NjbrvtNjNq1CjXe3P856SyZeFkPoc//vijad++vfnkk09MUVGR+fXXX01cXJxZtGiRMebocnfRRReZzz77zBQVFZn333/ftG/f3uzevdsYY8yVV15pnnjiCeNwOExhYaGZM2eOiYuLM8YYc/jwYRMdHW2SkpJMYWGh2b17t4mLizNLly519f3TTz8ZY4zZsmWL6dSpk/nss89McXGx+eWXX0xMTIxZtWqVq44uXbqYbdu2mezs7DLPr6iO0tek9DO8fPly07VrV/PDDz+Y4uJi88MPP5iuXbuazz///HQXK2OMMePGjTOXXnqpefTRR80XX3xhDh48WOYxVXnPX3rpJVNUVGRSUlJM586dzYoVK1yvRem6r3TZe//9901xcbH59ttvTbt27czGjRuNMcbcf//95pprrjGpqanGbrebadOmuV43h8NhLr/8cnPXXXeZnJwck52dbe666y5zzTXXmKKiItdnYO7cucbhcJhvv/3WREREmBtvvNFkZWWZPXv2mO7du5v333/fVVdl66iRI0eagwcPmpycHHPDDTeY8ePHG2MqXze8++675u9//7v59ddfTWFhoXnyySdNRESE6z2tymesdFm54447zPjx4016erqx2+1m1qxZZuTIka7PbmxsrElLSzMlJSVm6dKlJiYmxjgcDmPM0e+C0ukcu46oDsd/z5zoMVdffbXJzs422dnZ5pNPPjFRUVGu7+9Dhw6Z9u3bmz179pTpuyrL1bGfsaouH1OnTjV2u93s2rXL9O/f3zz33HPGGGNefvllM2jQIJOWlmaMMWbDhg3m4osvNj/88INrfsOHDzepqammsLDQzJgxw4wYMcI1rnQZdzqd5tprrzXTpk0zubm5JjMz00yYMMH1XVBax3PPPWccDofJzc095e2YyuZV2XJa2ff48uXLXdtyubm55pJLLjHPPPOMKSwsNFu3bjW9e/d2+749Hce+hsYYU1JSYnbu3Gni4+PNxIkTXfVUtC48frvmdL8LBw4caF566SVXTbNnzzb33HNPufOqbBuqdHl+7LHHTGFhoUlOTjbR0dGu9ZGV27JVVeVg8N5775mePXuakpIS17A5c+ZUWzDo0KGD6datm+nWrZu58MILTbt27dw2iNLT083hw4eN0+k0qamp5ptvvjERERFm3bp1Zt++fSYiIsL88ccfrscfPHjQtdAf+2J+8sknJjY21q2P1atXm8jISGPM0Rezffv2xul0utVX+vyK6jCmbDBo166dyczMdE3rrbfeqrYPWJ8+fUynTp1cr1u3bt3MoEGDzIIFC1z9jRkzxsycOdP1nHfffdfExsaa4uJi17CUlBQTERFhDh48WCYY3Hzzza4FrdRdd91lZs+ebQoKCkz79u3Nt99+6zY+Pj7e9SGLiIgwX3zxhWvcH3/8YSIiIsyBAwdMfn6+az5ZWVlm06ZN5rrrrjMzZsxw1f7kk0+6TfuXX34x+fn5bhv2JSUlpkuXLq6NtdJhPXv2NJ9++qmrjg8//NA1/tjnV1bHscGgsmXtdD3//PPmpptucv395ptvmn79+rmWx/KCwW+//eZ6/OrVq02HDh1MYWGhmT9/vhk8eLDb9GNjY80HH3xgjDHmwIEDJjc31xQVFZk9e/aYt99+20RERLhtMB27UVr63u3du7fM56Qqy8LJfA6nTZtmJk2a5DatN954wwwYMMAYc/TLJSEhwW38yJEjzQsvvGCMMWbPnj2msLDQFBYWmj/++MMkJSWZdu3aGWPKX5ft3LnT/PXXX66+SzdaHnzwwTKh78knnzQTJkxw1XHDDTe4jT/2+RXVUfqalG50jR492sybN89tWvPmzXNtpJ6uwsJC88Ybb5h//OMfpnPnziYiIsJcddVVbp+byt7zrl27ur1uI0eONM8//7zrtTg2GJS+V6V69Ohh3n//feNwOEznzp3d5pubm2suuugi89NPP5kffvjBXHTRRSY3N7fM+I0bN7o+AxkZGcYYY4qLi8vUPXr0aJOUlFTlddTHH3/sGvf222+bvn37GmMqXzeMGTPGPPXUU67nFhcXm5iYGNd7WpXP2E8//WTS09NNRESE2blzp2taeXl55uKLLzbJyclmw4YNpkOHDiYpKcn8+uuvpri42O19qOlgcPz3TLdu3dzWLX369DELFixw/V1YWGiio6PNf//7X2OMMa+99prbtsLxwaCy5erYz1hVlo927dq5groxR793L7/8cmPM0ffx0KFDpqSkxKSlpZkffvjBFSQLCwtNhw4dzOrVq13Pzc7ONps3b3bVUrqMb9q0yVx88cWukGfM/39eMjMzXe/DgQMHXONPdTumsnlVtpxW9D1e+h6Uvj8ffvih6dGjh9s20BtvvFGtwaB9+/au5ahr166mT58+ZtasWSYrK8sYU/m68PjtmtP9Lly4cKEZNGiQMeboD6zR0dFm7dq15c6rsm2o5cuXm5iYGLfxTz75pLnxxhuNMdZuy1ZVlc8xSEtL09lnny0vLy/XsNatW2vLli1V3z1RgVtvvdV1joHT6dSaNWs0depUSdKYMWOUkZGhOXPm6Pfff9e5556rDh06SDp67GzpoSnnnHOOa3pNmzZV06ZNy8xn//79yszMVPfu3V3DjDEqKipSRkaG67ne3uUfZVVRHeUJDQ3VWWed5fr77LPPLrPL83Q8+OCDlR772axZM9f/MzIy1LJlS/n4+LiGnXvuuZKOvjY2m83tufv379e6deu0dOlS1zCn06m///3vys7OVlFRkev5x07v2MPMjh3fsmVLSUeXp7POOkuvv/66VqxYoaCgILVr1052u921y+3QoUOux5fq2rVrmf4yMzOVl5enyZMnu71vRUVF2r9/f7mvw7G8vb0rrONYJ7Osnazi4mK99dZbysnJUUxMjKSjy1VOTo6++OIL1y744/3tb39z/f/ss8+Ww+FQVlaWJJU5xtjPz891qMPevXv12GOPadeuXTrvvPNc0zl2WT522qXvRelrcOznpKrL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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = sns.scatterplot(x='d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae|g__Porphyrobacter', y='median_mmNorm', data=erythrobacteraceae_genuses_v9)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e165fab2-79e7-490f-ba56-a45d6e0ef8f1",
   "metadata": {},
   "source": [
    "None of the individual genuses that are within the most significant family have compelling results."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "42c7a3ba-b5fb-4db8-8e7f-dcbdd8471aa1",
   "metadata": {},
   "source": [
    "## Correlate genuses with separate median titers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "927473c4-fcc1-4c39-a322-4af7668c1337",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Desulfuromonadales|f__Desulfuromonadaceae|g__Desulfuromonas</th>\n",
       "      <td>0.447871</td>\n",
       "      <td>0.002599</td>\n",
       "      <td>0.433603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Coriobacteriia|o__Eggerthellales|f__Eggerthellaceae|g__Slackia</th>\n",
       "      <td>0.429681</td>\n",
       "      <td>0.004033</td>\n",
       "      <td>0.433603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae|g__Odoribacter</th>\n",
       "      <td>0.427017</td>\n",
       "      <td>0.004293</td>\n",
       "      <td>0.433603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Desulfobacterales|f__Desulfobacteraceae|g__Desulfatibacillum</th>\n",
       "      <td>0.404371</td>\n",
       "      <td>0.007157</td>\n",
       "      <td>0.433603</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Neisseriales|f__Neisseriaceae|g__Vitreoscilla</th>\n",
       "      <td>0.401139</td>\n",
       "      <td>0.007678</td>\n",
       "      <td>0.433603</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.447871  0.002599   \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.429681  0.004033   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.427017  0.004293   \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.404371  0.007157   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.401139  0.007678   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.433603  \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.433603  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.433603  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.433603  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.433603  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v5_DTAPHib_correlations = kraken_genus_abunds_v5.transpose().apply(spearmanr, b=meta_v5['median_mmNorm_DTAPHib']).transpose()\n",
    "v5_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v5_DTAPHib_correlations['p_adj'] = p_adjust(v5_DTAPHib_correlations['p_value'])\n",
    "v5_DTAPHib_correlations = v5_DTAPHib_correlations.sort_values('p_value')\n",
    "v5_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "05af18c1-44d3-4c7f-ab10-210514f3bc78",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Micrococcales|f__Micrococcaceae|g__Micrococcus</th>\n",
       "      <td>-0.492113</td>\n",
       "      <td>0.001258</td>\n",
       "      <td>0.391275</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Cellvibrionales|f__Cellvibrionaceae|g__Cellvibrio</th>\n",
       "      <td>-0.360835</td>\n",
       "      <td>0.022171</td>\n",
       "      <td>0.975943</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Heliobacteriaceae|g__Heliobacterium</th>\n",
       "      <td>-0.357215</td>\n",
       "      <td>0.023647</td>\n",
       "      <td>0.975943</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Spirochaetes|c__Spirochaetia|o__Spirochaetales|f__Spirochaetaceae|g__Treponema</th>\n",
       "      <td>0.351903</td>\n",
       "      <td>0.025959</td>\n",
       "      <td>0.975943</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Erysipelotrichia|o__Erysipelotrichales|f__Erysipelotrichaceae|g__Faecalibaculum</th>\n",
       "      <td>-0.345544</td>\n",
       "      <td>0.028971</td>\n",
       "      <td>0.975943</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.492113  0.001258   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.360835  0.022171   \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos... -0.357215  0.023647   \n",
       "d__Bacteria|p__Spirochaetes|c__Spirochaetia|o__...  0.351903  0.025959   \n",
       "d__Bacteria|p__Firmicutes|c__Erysipelotrichia|o... -0.345544  0.028971   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.391275  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.975943  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.975943  \n",
       "d__Bacteria|p__Spirochaetes|c__Spirochaetia|o__...  0.975943  \n",
       "d__Bacteria|p__Firmicutes|c__Erysipelotrichia|o...  0.975943  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_genus_abunds_PCV_v5 = kraken_genus_abunds[meta_PCV_v5.index]\n",
    "kraken_genus_abunds_PCV_v5 = kraken_genus_abunds_PCV_v5.loc[(kraken_genus_abunds_PCV_v5 > 0).sum(axis=1) > kraken_genus_abunds_PCV_v5.shape[1]*.2]\n",
    "v5_PCV_correlations = kraken_genus_abunds_PCV_v5.transpose().apply(spearmanr, b=meta_PCV_v5['median_mmNorm_PCV']).transpose()\n",
    "v5_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v5_PCV_correlations['p_adj'] = p_adjust(v5_PCV_correlations['p_value'])\n",
    "v5_PCV_correlations = v5_PCV_correlations.sort_values('p_value')\n",
    "v5_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "68a056f2-c42f-47f3-a315-dfd72deb8842",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Oceanospirillales|f__Halomonadaceae|g__Halomonas</th>\n",
       "      <td>0.483099</td>\n",
       "      <td>0.000776</td>\n",
       "      <td>0.270651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Burkholderiales|f__Burkholderiaceae|g__Cupriavidus</th>\n",
       "      <td>-0.420240</td>\n",
       "      <td>0.004052</td>\n",
       "      <td>0.546198</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactobacillales|f__Enterococcaceae|g__Melissococcus</th>\n",
       "      <td>0.414017</td>\n",
       "      <td>0.004695</td>\n",
       "      <td>0.546198</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae|g__Odoribacter</th>\n",
       "      <td>0.348202</td>\n",
       "      <td>0.019080</td>\n",
       "      <td>0.968895</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Rhizobiales|f__Bradyrhizobiaceae|g__Rhodopseudomonas</th>\n",
       "      <td>0.338676</td>\n",
       "      <td>0.022865</td>\n",
       "      <td>0.968895</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.483099  0.000776   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact... -0.420240  0.004052   \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactoba...  0.414017  0.004695   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.348202  0.019080   \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.338676  0.022865   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.270651  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.546198  \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactoba...  0.546198  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.968895  \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.968895  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v6_DTAPHib_correlations = kraken_genus_abunds_v6.transpose().apply(spearmanr, b=meta_v6['median_mmNorm_DTAPHib']).transpose()\n",
    "v6_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v6_DTAPHib_correlations['p_adj'] = p_adjust(v6_DTAPHib_correlations['p_value'])\n",
    "v6_DTAPHib_correlations = v6_DTAPHib_correlations.sort_values('p_value')\n",
    "v6_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "f14a16b1-eb19-4fc2-85f0-773bd2ed8dad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Oligoflexia|o__Bacteriovoracales|f__Halobacteriovoraceae|g__Halobacteriovorax</th>\n",
       "      <td>0.415055</td>\n",
       "      <td>0.005648</td>\n",
       "      <td>0.998997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Cyanobacteria|o__Chroococcales|f__Chroococcaceae|g__Geminocystis</th>\n",
       "      <td>0.350181</td>\n",
       "      <td>0.021332</td>\n",
       "      <td>0.998997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Flavobacteriia|o__Flavobacteriales|f__Flavobacteriaceae|g__Elizabethkingia</th>\n",
       "      <td>0.347964</td>\n",
       "      <td>0.022226</td>\n",
       "      <td>0.998997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactobacillales|f__Enterococcaceae|g__Melissococcus</th>\n",
       "      <td>0.329809</td>\n",
       "      <td>0.030788</td>\n",
       "      <td>0.998997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacillales|f__Planococcaceae|g__Jeotgalibacillus</th>\n",
       "      <td>0.300350</td>\n",
       "      <td>0.050355</td>\n",
       "      <td>0.998997</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.415055  0.005648   \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.350181  0.021332   \n",
       "d__Bacteria|p__Bacteroidetes|c__Flavobacteriia|...  0.347964  0.022226   \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactoba...  0.329809  0.030788   \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacilla...  0.300350  0.050355   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.998997  \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.998997  \n",
       "d__Bacteria|p__Bacteroidetes|c__Flavobacteriia|...  0.998997  \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Lactoba...  0.998997  \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacilla...  0.998997  "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_genus_abunds_PCV_v6 = kraken_genus_abunds[meta_PCV_v6.index]\n",
    "kraken_genus_abunds_PCV_v6 = kraken_genus_abunds_PCV_v6.loc[(kraken_genus_abunds_PCV_v6 > 0).sum(axis=1) > kraken_genus_abunds_PCV_v6.shape[1]*.2]\n",
    "v6_PCV_correlations = kraken_genus_abunds_PCV_v6.transpose().apply(spearmanr, b=meta_PCV_v6['median_mmNorm_PCV']).transpose()\n",
    "v6_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v6_PCV_correlations['p_adj'] = p_adjust(v6_PCV_correlations['p_value'])\n",
    "v6_PCV_correlations = v6_PCV_correlations.sort_values('p_value')\n",
    "v6_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "5b468cca-db7b-44b9-9d26-bd6d127f68f3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|g__Candidatus_Azobacteroides</th>\n",
       "      <td>0.340544</td>\n",
       "      <td>0.015524</td>\n",
       "      <td>0.98824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Negativicutes|o__Selenomonadales|f__Sporomusaceae|g__Pelosinus</th>\n",
       "      <td>-0.330158</td>\n",
       "      <td>0.019201</td>\n",
       "      <td>0.98824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Corynebacteriales|f__Gordoniaceae|g__Gordonia</th>\n",
       "      <td>-0.323988</td>\n",
       "      <td>0.021716</td>\n",
       "      <td>0.98824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacillales|f__Bacillaceae|g__Virgibacillus</th>\n",
       "      <td>-0.321188</td>\n",
       "      <td>0.022946</td>\n",
       "      <td>0.98824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Burkholderiales|f__Burkholderiaceae|g__Ralstonia</th>\n",
       "      <td>-0.319824</td>\n",
       "      <td>0.023566</td>\n",
       "      <td>0.98824</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.340544  0.015524   \n",
       "d__Bacteria|p__Firmicutes|c__Negativicutes|o__S... -0.330158  0.019201   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.323988  0.021716   \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacilla... -0.321188  0.022946   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact... -0.319824  0.023566   \n",
       "\n",
       "                                                      p_adj  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.98824  \n",
       "d__Bacteria|p__Firmicutes|c__Negativicutes|o__S...  0.98824  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.98824  \n",
       "d__Bacteria|p__Firmicutes|c__Bacilli|o__Bacilla...  0.98824  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.98824  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v7_DTAPHib_correlations = kraken_genus_abunds_v7.transpose().apply(spearmanr, b=meta_v7['median_mmNorm_DTAPHib']).transpose()\n",
    "v7_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v7_DTAPHib_correlations['p_adj'] = p_adjust(v7_DTAPHib_correlations['p_value'])\n",
    "v7_DTAPHib_correlations = v7_DTAPHib_correlations.sort_values('p_value')\n",
    "v7_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "3923a5d3-7b46-4a66-9da1-74db3082c884",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Yersiniaceae|g__Rahnella</th>\n",
       "      <td>-0.400221</td>\n",
       "      <td>0.005312</td>\n",
       "      <td>0.990765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Morganellaceae|g__Proteus</th>\n",
       "      <td>0.352449</td>\n",
       "      <td>0.015110</td>\n",
       "      <td>0.990765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Clostridiales_Family_XIII_Incertae_Sedis|g__Mogibacterium</th>\n",
       "      <td>0.327107</td>\n",
       "      <td>0.024814</td>\n",
       "      <td>0.990765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Peptococcaceae|g__Syntrophobotulus</th>\n",
       "      <td>0.321208</td>\n",
       "      <td>0.027701</td>\n",
       "      <td>0.990765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Pasteurellales|f__Pasteurellaceae|g__Gallibacterium</th>\n",
       "      <td>-0.312558</td>\n",
       "      <td>0.032436</td>\n",
       "      <td>0.990765</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.400221  0.005312   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.352449  0.015110   \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.327107  0.024814   \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.321208  0.027701   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.312558  0.032436   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.990765  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.990765  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.990765  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.990765  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.990765  "
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta_PCV_v7 = meta_PCV.query(\"VisitCode == 'V7'\")\n",
    "kraken_genus_abunds_PCV_v7 = kraken_genus_abunds[meta_PCV_v7.index]\n",
    "kraken_genus_abunds_PCV_v7 = kraken_genus_abunds_PCV_v7.loc[(kraken_genus_abunds_PCV_v7 > 0).sum(axis=1) > kraken_genus_abunds_PCV_v7.shape[1]*.2]\n",
    "v7_PCV_correlations = kraken_genus_abunds_PCV_v7.transpose().apply(spearmanr, b=meta_PCV_v7['median_mmNorm_PCV']).transpose()\n",
    "v7_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v7_PCV_correlations['p_adj'] = p_adjust(v7_PCV_correlations['p_value'])\n",
    "v7_PCV_correlations = v7_PCV_correlations.sort_values('p_value')\n",
    "v7_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "99790fcf-34d0-4f2c-b51e-dd875c30b99a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Burkholderiales|g__Mitsuaria</th>\n",
       "      <td>0.403966</td>\n",
       "      <td>0.007975</td>\n",
       "      <td>0.899798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Yersiniaceae|g__Serratia</th>\n",
       "      <td>0.402992</td>\n",
       "      <td>0.008142</td>\n",
       "      <td>0.899798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Pseudomonadales|f__Moraxellaceae|g__Psychrobacter</th>\n",
       "      <td>0.383877</td>\n",
       "      <td>0.012083</td>\n",
       "      <td>0.899798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Rhodocyclales|f__Rhodocyclaceae|g__Azospira</th>\n",
       "      <td>0.383440</td>\n",
       "      <td>0.012189</td>\n",
       "      <td>0.899798</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Micrococcales|f__Microbacteriaceae|g__Cnuibacter</th>\n",
       "      <td>-0.362197</td>\n",
       "      <td>0.018417</td>\n",
       "      <td>0.899798</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.403966  0.007975   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.402992  0.008142   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.383877  0.012083   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.383440  0.012189   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.362197  0.018417   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.899798  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.899798  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.899798  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.899798  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.899798  "
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v9_DTAPHib_correlations = kraken_genus_abunds_v9.transpose().apply(spearmanr, b=meta_v9['median_mmNorm_DTAPHib']).transpose()\n",
    "v9_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v9_DTAPHib_correlations['p_adj'] = p_adjust(v9_DTAPHib_correlations['p_value'])\n",
    "v9_DTAPHib_correlations = v9_DTAPHib_correlations.sort_values('p_value')\n",
    "v9_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "2f2c7a0e-26f9-41f8-8589-3b30fc1056a2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Coriobacteriia|o__Coriobacteriales|f__Atopobiaceae|g__Olsenella</th>\n",
       "      <td>0.474720</td>\n",
       "      <td>0.002262</td>\n",
       "      <td>0.850475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Tenericutes|c__Mollicutes|o__Mycoplasmatales|f__Mycoplasmataceae|g__Mycoplasma</th>\n",
       "      <td>0.452213</td>\n",
       "      <td>0.003850</td>\n",
       "      <td>0.850475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia</th>\n",
       "      <td>0.397368</td>\n",
       "      <td>0.012248</td>\n",
       "      <td>0.850475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae|g__Altererythrobacter</th>\n",
       "      <td>0.396013</td>\n",
       "      <td>0.012574</td>\n",
       "      <td>0.850475</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Erysipelotrichia|o__Erysipelotrichales|f__Erysipelotrichaceae|g__Faecalitalea</th>\n",
       "      <td>0.392935</td>\n",
       "      <td>0.013343</td>\n",
       "      <td>0.850475</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.474720  0.002262   \n",
       "d__Bacteria|p__Tenericutes|c__Mollicutes|o__Myc...  0.452213  0.003850   \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.397368  0.012248   \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.396013  0.012574   \n",
       "d__Bacteria|p__Firmicutes|c__Erysipelotrichia|o...  0.392935  0.013343   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.850475  \n",
       "d__Bacteria|p__Tenericutes|c__Mollicutes|o__Myc...  0.850475  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.850475  \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.850475  \n",
       "d__Bacteria|p__Firmicutes|c__Erysipelotrichia|o...  0.850475  "
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "meta_PCV_v9 = meta_PCV.query(\"VisitCode == 'V9'\")\n",
    "kraken_genus_abunds_PCV_v9 = kraken_genus_abunds[meta_PCV_v9.index]\n",
    "kraken_genus_abunds_PCV_v9 = kraken_genus_abunds_PCV_v9.loc[(kraken_genus_abunds_PCV_v9 > 0).sum(axis=1) > kraken_genus_abunds_PCV_v9.shape[1]*.2]\n",
    "v9_PCV_correlations = kraken_genus_abunds_PCV_v9.transpose().apply(spearmanr, b=meta_PCV_v9['median_mmNorm_PCV']).transpose()\n",
    "v9_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v9_PCV_correlations['p_adj'] = p_adjust(v9_PCV_correlations['p_value'])\n",
    "v9_PCV_correlations = v9_PCV_correlations.sort_values('p_value')\n",
    "v9_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e6b36e5-54c5-4342-b2e9-5339afeca39d",
   "metadata": {},
   "source": [
    "## Correlate families with separate median titers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "394fd6fc-81b2-4ab8-a1be-5f7ffa3f0ee7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Desulfobacterales|f__Desulfobacteraceae</th>\n",
       "      <td>0.435404</td>\n",
       "      <td>0.003521</td>\n",
       "      <td>0.189563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae</th>\n",
       "      <td>0.427017</td>\n",
       "      <td>0.004293</td>\n",
       "      <td>0.189563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Micrococcales|f__Dermacoccaceae</th>\n",
       "      <td>-0.426291</td>\n",
       "      <td>0.004366</td>\n",
       "      <td>0.189563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Porphyromonadaceae</th>\n",
       "      <td>0.424349</td>\n",
       "      <td>0.004568</td>\n",
       "      <td>0.189563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Geodermatophilales|f__Geodermatophilaceae</th>\n",
       "      <td>0.371850</td>\n",
       "      <td>0.014077</td>\n",
       "      <td>0.399871</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.435404  0.003521   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.427017  0.004293   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.426291  0.004366   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.424349  0.004568   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.371850  0.014077   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.189563  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.189563  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.189563  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.189563  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.399871  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v5_DTAPHib_correlations = kraken_family_abunds_v5.transpose().apply(spearmanr, b=meta_v5['median_mmNorm_DTAPHib']).transpose()\n",
    "v5_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v5_DTAPHib_correlations['p_adj'] = p_adjust(v5_DTAPHib_correlations['p_value'])\n",
    "v5_DTAPHib_correlations = v5_DTAPHib_correlations.sort_values('p_value')\n",
    "v5_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "fa24dec5-ea00-4222-8870-00a893b21799",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Desulfobacterales|f__Desulfobacteraceae</th>\n",
       "      <td>0.462848</td>\n",
       "      <td>0.002636</td>\n",
       "      <td>0.340386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Micrococcales|f__Dermacoccaceae</th>\n",
       "      <td>-0.442706</td>\n",
       "      <td>0.004228</td>\n",
       "      <td>0.340386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Heliobacteriaceae</th>\n",
       "      <td>-0.357215</td>\n",
       "      <td>0.023647</td>\n",
       "      <td>0.903793</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Thiotrichales|f__Piscirickettsiaceae</th>\n",
       "      <td>0.337771</td>\n",
       "      <td>0.033040</td>\n",
       "      <td>0.903793</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Oligoflexia|o__Bacteriovoracales|f__Halobacteriovoraceae</th>\n",
       "      <td>0.319039</td>\n",
       "      <td>0.044795</td>\n",
       "      <td>0.903793</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.462848  0.002636   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.442706  0.004228   \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos... -0.357215  0.023647   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.337771  0.033040   \n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.319039  0.044795   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.340386  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.340386  \n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.903793  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.903793  \n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.903793  "
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_PCV_v5 = kraken_family_abunds[meta_PCV_v5.index]\n",
    "kraken_family_abunds_PCV_v5 = kraken_family_abunds_PCV_v5.loc[(kraken_family_abunds_PCV_v5 > 0).sum(axis=1) > kraken_family_abunds_PCV_v5.shape[1]*.2]\n",
    "v5_PCV_correlations = kraken_family_abunds_PCV_v5.transpose().apply(spearmanr, b=meta_PCV_v5['median_mmNorm_PCV']).transpose()\n",
    "v5_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v5_PCV_correlations['p_adj'] = p_adjust(v5_PCV_correlations['p_value'])\n",
    "v5_PCV_correlations = v5_PCV_correlations.sort_values('p_value')\n",
    "v5_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "1762a943-6026-4670-8c40-3506b04b8eee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Synergistetes|c__Synergistia|o__Synergistales|f__Synergistaceae</th>\n",
       "      <td>0.371120</td>\n",
       "      <td>0.012079</td>\n",
       "      <td>0.820452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Porphyromonadaceae</th>\n",
       "      <td>0.359315</td>\n",
       "      <td>0.015346</td>\n",
       "      <td>0.820452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Oceanospirillales|f__Halomonadaceae</th>\n",
       "      <td>0.355038</td>\n",
       "      <td>0.016703</td>\n",
       "      <td>0.820452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Odoribacteraceae</th>\n",
       "      <td>0.348202</td>\n",
       "      <td>0.019080</td>\n",
       "      <td>0.820452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Deltaproteobacteria|o__Myxococcales|f__Myxococcaceae</th>\n",
       "      <td>0.318225</td>\n",
       "      <td>0.033141</td>\n",
       "      <td>0.897028</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Synergistetes|c__Synergistia|o__...  0.371120  0.012079   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.359315  0.015346   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.355038  0.016703   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.348202  0.019080   \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.318225  0.033141   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Synergistetes|c__Synergistia|o__...  0.820452  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.820452  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.820452  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.820452  \n",
       "d__Bacteria|p__Proteobacteria|c__Deltaproteobac...  0.897028  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v6_DTAPHib_correlations = kraken_family_abunds_v6.transpose().apply(spearmanr, b=meta_v6['median_mmNorm_DTAPHib']).transpose()\n",
    "v6_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v6_DTAPHib_correlations['p_adj'] = p_adjust(v6_DTAPHib_correlations['p_value'])\n",
    "v6_DTAPHib_correlations = v6_DTAPHib_correlations.sort_values('p_value')\n",
    "v6_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "62f76f77-1c28-48e8-9f0e-d15f09a85aa4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Oligoflexia|o__Bacteriovoracales|f__Halobacteriovoraceae</th>\n",
       "      <td>0.415055</td>\n",
       "      <td>0.005648</td>\n",
       "      <td>0.786961</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Cyanobacteria|o__Chroococcales|f__Chroococcaceae</th>\n",
       "      <td>0.395067</td>\n",
       "      <td>0.008744</td>\n",
       "      <td>0.786961</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Aquificae|c__Aquificae|o__Aquificales|f__Hydrogenothermaceae</th>\n",
       "      <td>0.294640</td>\n",
       "      <td>0.055115</td>\n",
       "      <td>0.947638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Epsilonproteobacteria|o__Campylobacterales|f__Helicobacteraceae</th>\n",
       "      <td>0.289629</td>\n",
       "      <td>0.059584</td>\n",
       "      <td>0.947638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Bacteroidales|f__Prevotellaceae</th>\n",
       "      <td>0.273559</td>\n",
       "      <td>0.075895</td>\n",
       "      <td>0.947638</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.415055  0.005648   \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.395067  0.008744   \n",
       "d__Bacteria|p__Aquificae|c__Aquificae|o__Aquifi...  0.294640  0.055115   \n",
       "d__Bacteria|p__Proteobacteria|c__Epsilonproteob...  0.289629  0.059584   \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.273559  0.075895   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Oligoflexia|o_...  0.786961  \n",
       "d__Bacteria|p__Cyanobacteria|o__Chroococcales|f...  0.786961  \n",
       "d__Bacteria|p__Aquificae|c__Aquificae|o__Aquifi...  0.947638  \n",
       "d__Bacteria|p__Proteobacteria|c__Epsilonproteob...  0.947638  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.947638  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_PCV_v6 = kraken_family_abunds[meta_PCV_v6.index]\n",
    "kraken_family_abunds_PCV_v6 = kraken_family_abunds_PCV_v6.loc[(kraken_family_abunds_PCV_v6 > 0).sum(axis=1) > kraken_family_abunds_PCV_v6.shape[1]*.2]\n",
    "v6_PCV_correlations = kraken_family_abunds_PCV_v6.transpose().apply(spearmanr, b=meta_PCV_v6['median_mmNorm_PCV']).transpose()\n",
    "v6_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v6_PCV_correlations['p_adj'] = p_adjust(v6_PCV_correlations['p_value'])\n",
    "v6_PCV_correlations = v6_PCV_correlations.sort_values('p_value')\n",
    "v6_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "082d6c2b-20e5-4bb1-8a40-8c5ca8802ff6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Marinilabiliales|f__Marinifilaceae</th>\n",
       "      <td>0.442274</td>\n",
       "      <td>0.001301</td>\n",
       "      <td>0.262714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Negativicutes|o__Selenomonadales|f__Sporomusaceae</th>\n",
       "      <td>-0.330158</td>\n",
       "      <td>0.019201</td>\n",
       "      <td>0.982870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Corynebacteriales|f__Gordoniaceae</th>\n",
       "      <td>-0.323988</td>\n",
       "      <td>0.021716</td>\n",
       "      <td>0.982870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Alteromonadales|f__Alteromonadaceae</th>\n",
       "      <td>-0.318229</td>\n",
       "      <td>0.024309</td>\n",
       "      <td>0.982870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Actinobacteria|o__Micrococcales|f__Microbacteriaceae</th>\n",
       "      <td>-0.268937</td>\n",
       "      <td>0.058955</td>\n",
       "      <td>0.982870</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.442274  0.001301   \n",
       "d__Bacteria|p__Firmicutes|c__Negativicutes|o__S... -0.330158  0.019201   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.323988  0.021716   \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.318229  0.024309   \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria... -0.268937  0.058955   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.262714  \n",
       "d__Bacteria|p__Firmicutes|c__Negativicutes|o__S...  0.982870  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.982870  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.982870  \n",
       "d__Bacteria|p__Actinobacteria|c__Actinobacteria...  0.982870  "
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v7_DTAPHib_correlations = kraken_family_abunds_v7.transpose().apply(spearmanr, b=meta_v7['median_mmNorm_DTAPHib']).transpose()\n",
    "v7_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v7_DTAPHib_correlations['p_adj'] = p_adjust(v7_DTAPHib_correlations['p_value'])\n",
    "v7_DTAPHib_correlations = v7_DTAPHib_correlations.sort_values('p_value')\n",
    "v7_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "d9380d98-ad70-441d-814c-a872774aeea8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Peptococcaceae</th>\n",
       "      <td>0.352070</td>\n",
       "      <td>0.015227</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Clostridiales_Family_XIII_Incertae_Sedis</th>\n",
       "      <td>0.339976</td>\n",
       "      <td>0.019381</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Rhizobiales|f__Methylobacteriaceae</th>\n",
       "      <td>0.301230</td>\n",
       "      <td>0.039630</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__Marinilabiliales|f__Marinifilaceae</th>\n",
       "      <td>0.285558</td>\n",
       "      <td>0.051691</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Enterobacterales|f__Yersiniaceae</th>\n",
       "      <td>-0.266694</td>\n",
       "      <td>0.069970</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  p_adj\n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.352070  0.015227    1.0\n",
       "d__Bacteria|p__Firmicutes|c__Clostridia|o__Clos...  0.339976  0.019381    1.0\n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.301230  0.039630    1.0\n",
       "d__Bacteria|p__Bacteroidetes|c__Bacteroidia|o__...  0.285558  0.051691    1.0\n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac... -0.266694  0.069970    1.0"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_PCV_v7 = kraken_family_abunds[meta_PCV_v7.index]\n",
    "kraken_family_abunds_PCV_v7 = kraken_family_abunds_PCV_v7.loc[(kraken_family_abunds_PCV_v7 > 0).sum(axis=1) > kraken_family_abunds_PCV_v7.shape[1]*.2]\n",
    "v7_PCV_correlations = kraken_family_abunds_PCV_v7.transpose().apply(spearmanr, b=meta_PCV_v7['median_mmNorm_PCV']).transpose()\n",
    "v7_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v7_PCV_correlations['p_adj'] = p_adjust(v7_PCV_correlations['p_value'])\n",
    "v7_PCV_correlations = v7_PCV_correlations.sort_values('p_value')\n",
    "v7_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "60c35ef7-cd02-418d-9cb1-06e6f6fef953",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Burkholderiales|f__Alcaligenaceae</th>\n",
       "      <td>0.399246</td>\n",
       "      <td>0.008813</td>\n",
       "      <td>0.704056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Nitrosomonadales|f__Methylophilaceae</th>\n",
       "      <td>0.379376</td>\n",
       "      <td>0.013218</td>\n",
       "      <td>0.704056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Rhodocyclales|f__Rhodocyclaceae</th>\n",
       "      <td>0.364641</td>\n",
       "      <td>0.017586</td>\n",
       "      <td>0.704056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae</th>\n",
       "      <td>0.364477</td>\n",
       "      <td>0.017641</td>\n",
       "      <td>0.704056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Rubrobacteria|o__Rubrobacterales|f__Rubrobacteraceae</th>\n",
       "      <td>0.359109</td>\n",
       "      <td>0.019514</td>\n",
       "      <td>0.704056</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.399246  0.008813   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.379376  0.013218   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.364641  0.017586   \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.364477  0.017641   \n",
       "d__Bacteria|p__Actinobacteria|c__Rubrobacteria|...  0.359109  0.019514   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.704056  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.704056  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.704056  \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.704056  \n",
       "d__Bacteria|p__Actinobacteria|c__Rubrobacteria|...  0.704056  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v9_DTAPHib_correlations = kraken_family_abunds_v9.transpose().apply(spearmanr, b=meta_v9['median_mmNorm_DTAPHib']).transpose()\n",
    "v9_DTAPHib_correlations.columns = ['rho', 'p_value']\n",
    "v9_DTAPHib_correlations['p_adj'] = p_adjust(v9_DTAPHib_correlations['p_value'])\n",
    "v9_DTAPHib_correlations = v9_DTAPHib_correlations.sort_values('p_value')\n",
    "v9_DTAPHib_correlations.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "12626556-a09b-4ece-8157-e22b4a63341e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rho</th>\n",
       "      <th>p_value</th>\n",
       "      <th>p_adj</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Gammaproteobacteria|o__Xanthomonadales|f__Xanthomonadaceae</th>\n",
       "      <td>0.466758</td>\n",
       "      <td>0.002741</td>\n",
       "      <td>0.307863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Betaproteobacteria|o__Nitrosomonadales|f__Methylophilaceae</th>\n",
       "      <td>0.451606</td>\n",
       "      <td>0.003903</td>\n",
       "      <td>0.307863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Proteobacteria|c__Alphaproteobacteria|o__Sphingomonadales|f__Erythrobacteraceae</th>\n",
       "      <td>0.450930</td>\n",
       "      <td>0.003964</td>\n",
       "      <td>0.307863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Tenericutes|c__Mollicutes|o__Mycoplasmatales|f__Mycoplasmataceae</th>\n",
       "      <td>0.429255</td>\n",
       "      <td>0.006393</td>\n",
       "      <td>0.372407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>d__Bacteria|p__Actinobacteria|c__Coriobacteriia|o__Coriobacteriales|f__Atopobiaceae</th>\n",
       "      <td>0.409231</td>\n",
       "      <td>0.009685</td>\n",
       "      <td>0.451311</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                         rho   p_value  \\\n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.466758  0.002741   \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.451606  0.003903   \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.450930  0.003964   \n",
       "d__Bacteria|p__Tenericutes|c__Mollicutes|o__Myc...  0.429255  0.006393   \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.409231  0.009685   \n",
       "\n",
       "                                                       p_adj  \n",
       "d__Bacteria|p__Proteobacteria|c__Gammaproteobac...  0.307863  \n",
       "d__Bacteria|p__Proteobacteria|c__Betaproteobact...  0.307863  \n",
       "d__Bacteria|p__Proteobacteria|c__Alphaproteobac...  0.307863  \n",
       "d__Bacteria|p__Tenericutes|c__Mollicutes|o__Myc...  0.372407  \n",
       "d__Bacteria|p__Actinobacteria|c__Coriobacteriia...  0.451311  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kraken_family_abunds_PCV_v9 = kraken_family_abunds[meta_PCV_v9.index]\n",
    "kraken_family_abunds_PCV_v9 = kraken_family_abunds_PCV_v9.loc[(kraken_family_abunds_PCV_v9 > 0).sum(axis=1) > kraken_family_abunds_PCV_v9.shape[1]*.2]\n",
    "v9_PCV_correlations = kraken_family_abunds_PCV_v9.transpose().apply(spearmanr, b=meta_PCV_v9['median_mmNorm_PCV']).transpose()\n",
    "v9_PCV_correlations.columns = ['rho', 'p_value']\n",
    "v9_PCV_correlations['p_adj'] = p_adjust(v9_PCV_correlations['p_value'])\n",
    "v9_PCV_correlations = v9_PCV_correlations.sort_values('p_value')\n",
    "v9_PCV_correlations.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eefcfd33-8664-4be5-bb81-e6db50751b61",
   "metadata": {},
   "source": [
    "All significance goes away when we split between DTAPHib and PCV specific titers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2dd36d49-5dab-413c-ad91-4395dba7638d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
